Динамическая декларация операторов SQL Server - PullRequest
2 голосов
/ 02 сентября 2010

Я использую значение varchar (MAX) для текста, но, поскольку я создаю огромный SQL-код, он обрезает окончание.затем можно объединиться с другими при выполнении sql?

например что-то вроде:

DECLARE @sSQLLeft + Convertvarchar(4),@index) varchar(MAX)

Ответы [ 2 ]

1 голос
/ 02 сентября 2010

varchar(max) - это примерно до 2 ГБ. Вы уверены, что оно обрезает окончание или просто при его печати отображаются только первые несколько сотен символов?

Для просмотра длинного текста в SSMS без негоусеченный, вы можете использовать этот трюк

SELECT @dynsql AS [processing-instruction(x)] FOR XML PATH('')
0 голосов
/ 02 сентября 2010
DECLARE @query VARCHAR(MAX)
DECLARE @query2 VARCHAR(MAX)

-- Do wahtever

EXEC (@query + @query2)

EDIT:

Мартин Смит совершенно прав. Вполне возможно, что ваш запрос будет напечатан. Одной из причин этого сокращения является значение NULL в переменной или столбце, которое объединяется с вашим запросом и делает остальную часть запроса NULL.

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