Я надеюсь, что кто-то может пролить свет на это. Я не могу поверить, что я никогда не замечал эту проблему раньше. Это действительно раздражает меня.
Почему невозможно выполнить встроенную конкатенацию с использованием хранимых процедур (я еще не пробовал с функциями)?
Посмотрите на этот пример, который я создал. Это не будет завершено с исполнением. В строке 5 произойдет сбой.
Похоже, излишне пытаться заставить разработчика, возможно, создать переменную и ввести команду set
везде, где требуется вставить какое-либо объединенное значение в sp.
Пожалуйста, скажи мне, что я что-то перебрал.
DECLARE @WORLD NVARCHAR(MAX)
SET @WORLD = 'WORLD'
PRINT 'HELLO ' + @WORLD
exec sp_profileColumn 'dbo' + '.' + @WORLD --THIS STATEMENT FAILS
set @WORLD = 'dbo' + '.' + @WORLD
exec sp_profileColumn @WORLD --LOGICALLY THIS STATEMENT IS THE SAME AS LINE 5, CORRECT?