powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Работа с text Stored Proc
4 сообщений из 4, страница 1 из 1
Работа с text Stored Proc
    #32028478
Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нужно написать SP с выходным параметром размером > 8000 и в процедуре добовлять туда текст из varchar
Конструкция
ALTER PROCEDURE GET_EDIT_TABLE
@@Html text OUTPUT
AS
BEGIN
DECLARE @@tmp varchar(1000);
DECLARE @ptrval binary(16);
SELECT @ptrval = TEXTPTR(@@Html);
SET @@tmp = '<TABLE ALIGN ="CENTER">.......';
UPDATETEXT @@Html @ptrval 5 0 @@tmp

Упорно ругается Syntax Error.
Подскажите пожалуйста в чем error
И как такую задачу грамотно решить.

Спасибо!
...
Рейтинг: 0 / 0
Работа с text Stored Proc
    #32028482
Andreyka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Больше 8000 символов не пойдет - ограничения сервера.
...
Рейтинг: 0 / 0
Работа с text Stored Proc
    #32028487
Vladimir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То есть text , ntext и.т.п. нельзя использовать как output параметр ????
...
Рейтинг: 0 / 0
Работа с text Stored Proc
    #32028488
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. Выходные переменные типа text не поддерживаются(впрочем как и локальные переменные)
ALTER PROCEDURE GET_EDIT_TABLE @@Html text OUTPUT

2. Функция TEXTPTR работает со столбцами таблицы в не с локальными переменными
SELECT @ptrval = TEXTPTR( @@Html )

3. Команда UPDATETEXT также работает со столбцами таблиц или указателями на них, а не с локальными переменными
UPDATETEXT @@Html @ptrval 5 0 @@tmp

4. Как правильно заметил andreyka, максимальный размер выходной переменной ограничен 8000(4000) байтами

Как вариант можно использовать таблицу(постоянную или временную) с полем типа text для обмена соответсвующими данными, хотя если честно, мне лично кажется что что-то не так в постановке вашей задачи в принципе. Возможно я ошибаюсь, ведь ваших тонкостей я не знаю

ЗЫ
Надеюсь вы не хотите с помощью DECLARE @@tmp varchar(1000) объявить глобальную пользовательскую переменную ?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Работа с text Stored Proc
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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