У меня есть функция с именем dbo.GetFoo (). У меня также есть хранимая процедура модульного тестирования под названием AssertEqual (которая принимает @TargetValue sql_variant, @ExpectedValue sql_variant и @Message varchar)
Я хочу вызвать GetFoo () и проверить, возвращает ли оно правильное значение «X». Мой оператор T-SQL:
exec AssertEqual dbo.GetObjectType(), 'S', 'Check If S'
Я получаю это сообщение:
Msg 102, Level 15, State 1, Line 1
Incorrect syntax near '.'.
Кажется, он задыхается от "дбо". часть (я могу передать ему буквальную строку, и она отлично работает).
Есть ли способ обойти это, кроме объявления переменной для целевого значения?
Альтернативно: есть ли лучший способ выполнить модульное тестирование для SQL?