Объединение литералов с выражениями с использованием t-sql 2005 и выше - PullRequest
0 голосов
/ 20 июля 2011

Я надеюсь, что кто-то может пролить свет на это. Я не могу поверить, что я никогда не замечал эту проблему раньше. Это действительно раздражает меня.

Почему невозможно выполнить встроенную конкатенацию с использованием хранимых процедур (я еще не пробовал с функциями)?

Посмотрите на этот пример, который я создал. Это не будет завершено с исполнением. В строке 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?

1 Ответ

1 голос
/ 20 июля 2011

Я согласен, что это печально, но так было в течение длительного времени в SQL Server.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...