Использовать один или несколько скалярных UDF?
Один на константу:
dbo.CONST_Bicycle
возвращает 1 dbo.CONST_Car
возвращает 2 Один на перечисление:
dbo .CONST_Types ('Bicycle')
возвращает 1 dbo.CONST_Types ('Car')
возвращает 2 Или используйте таблицу с ID, Name per enum
Используйте перечисление на стороне клиента, чтобы сопоставьте это (возможно, с проверкой решения таблицы)
Существует нет быстрого или чистого способа сделать это, как в .net (согласно вашему комментарию).
SQL Server поддерживает определяемые пользователем типы данных. Возможно, вы захотите сделать что-то с CREATE TYPE (Transact-SQL). Но я не знаю, даже возможно ли это через пользовательские типы данных и не знаю о его плюсах и минусах. Может быть, кто-то другой пролит на это больше света.
Возможно, вы захотите иметь таблицу поиска LuVehicle со столбцами Id и Name.
Значения могут выглядеть как
1,Bicycle
2,Car
3,MotorCycle
Тогда вы можете иметь внешний ключ столбца Id в любом месте таблицы базы данных.
Чтобы получить точное имя значения, вы можете сделать простое внутреннее соединение с таблицей LuVehicle. Что-то вроде этого
select empname, vehicleId, LuVehicle.Name from employees, LuVehicle
where employees.vehicleId = LuVehicle.Id