У меня есть длинная хранимая процедура, которая строит строку запроса. Он отлично работает, пока я не добавить в описание поля А «LIKE» (текст), который имеет подстановочные знаки в нем, смотрите ниже:SQL Server 2005 Проблема с хранимой процедурой contatenating string с подстановочным знаком
IF @AdDescription IS NOT NULL
IF @AdSection IS NOT NULL
BEGIN
SET @SQL = @SQL + @Wand + 'na.Section = '' + @AdDescription + '''
SET @Wand = ' AND '
END
ELSE
BEGIN
SET @SQL = @SQL + @Wand + '(na.AdDesc LIKE ''' + @AdDescription + '%'')'
SET @Wand = ' AND '
END
Я пробовал несколько вариантов, но как только @AdDescription не имеет ничего в нем он не работает. Есть ли что-то очевидное, что мне не хватает?
Не удается с какой ошибкой напечатать переменную @sql до exec и отправить ее тоже. –
Не могли бы вы указать «fail»? Что происходит, и как это отличается от того, что вы ожидаете? Вы получаете сообщение об ошибке? – Guffa
Как мне напечатать переменную @sql? Я вхожу в хранимую процедуру, но это не позволяет мне просматривать встроенную строку, что было бы действительно полезно. Я поставил точки останова, но он не ударил их. Я использую визуальную студию 2008 года, но у меня нет полной версии (это обсуждение, которое вы должны иметь с моим боссом), поэтому мои возможности отладки ограничены. – flavour404