Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / sp_executesql and nvarchar / 3 сообщений из 3, страница 1 из 1
23.09.2002, 17:01:17
    #32052439
yura_silver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sp_executesql and nvarchar
Пишется процедура, динамически строящая запросы (для генерации сложных отчетов), что-то вроде:

Код: plaintext
1.
2.
3.
DECLARE @sql AS nvarchar( 4000 )
SELECT @sql='SELECT * FROM Customers WHERE '
...
exec sp_exexutesql @sql


Согласно документации, процедура sp_executesql требует unicode-параметра.
Однако nvarchar не может превышать 4000 символов.
При попытке использовать ntext SQL сервер сообщает

Код: plaintext
The text, ntext, and image data types are invalid for local variables.


Как быть, если запрос может превышать 4000 символов?
...
Рейтинг: 0 / 0
23.09.2002, 19:00:09
    #32052492
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sp_executesql and nvarchar
Это ограничение для sp_exeсutesql к сожалению никак не обойти.
Придется использовать exec(), который поддерживает конкатенацию стринговых переменных
...
Рейтинг: 0 / 0
24.09.2002, 11:42:04
    #32052602
yura_silver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sp_executesql and nvarchar
Спасибо за ответ.

Посмотрел доку - да, это не самый удобный, но выход.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / sp_executesql and nvarchar / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]