Ошибка возвращается при попытке выполнения следующего сохраненного процесса:
EXECUTE p_someProc
--list of vars
CASE WHEN @var1=1 AND @var2=1 THEN 3
WHEN @var2=1 THEN 2
WHEN @var1=1 THEN 1 END,
--more vars
Имеются и другие функции CASE, хотя выдается только одна ошибка, которая указывает на первый CASE.
Когда идентичное выражение выполняется внутри функции PRINT, возвращается ожидаемый результат.
declare @var1 bit set @var1 = 1
declare @var2 bit set @var2 = 1
print(CASE WHEN @var1=1 AND @var2=1 THEN 3
WHEN @var1=1 THEN 2
WHEN @var2=1 THEN 1 END)
Вывод '3'
Я предполагаю, что я как-то неправильно использую функцию CASE. Кто-нибудь может подумать об обходном пути или способе его исправить?
Заранее спасибо.
- Стан