Возник небольшой вопрос:
Как должен выглядеть запрос, выбирающий UID элемента перечисления по имени?
Нравится
Добрый день, Юрий!
Не ясен запрос. Необходимо получить ответы:
1) зачем понадобилась такая операция?
2) что дано на входе? Имя (т.е. код) элемента перечисления? Откуда он получен или как вводится пользователем?
3) какой требуется получить результат?
В общем, опишите задачу подробнее.
Добрый день, Юрий.
Из текста запроса или процедуры MSSQL невозможно напрямую обратиться к перечислению, т.к. это синтетическая конструкция, реализованная исключительно средствами локальной машины. На сервере в таблице хранится лишь код элемента перечисления.
Для вычисления нужного ID можно воспользоваться следующим выражением:
case (Gender)
when 'М' then '{264EF705-6CC4-4E2F-9611-45531D04CBE7}'
when 'Ж' then '{8CB0B216-3E35-47CE-8C31-8DFAA3C1548D}'
end
Это выражение можно вставить в качестве значения в текст оператора SELECT или INSERT. Поле Gender означает ссылку на поле исходной таблицы, содержащее М или Ж.
Желаю успехов!