Что-нибудь вроде этого:
SET @SQL = @SQL + ' AND addLine1 = ''' + @ApexLine1 + ''''
равно ЗЛО . Не делай этого. Переменные типа @ ApexLine1 могут содержать что угодно , даже что-то вроде этого:
'; DROP TABLE dbAddress -
Тщательно продумайте, что произойдет, если кто-то введет что-то подобное в поле «Адресная строка 1». Единственное правильное решение - использовать встроенную хранимую процедуру sp_executesql
. Изучи это, используй это.
Кроме того, я думаю, что, по крайней мере, часть вашей проблемы может заключаться в том, что ваша переменная @SQL составляет всего 255 символов. Вполне возможно, что вашему запросу не хватает места.