Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Работа с text Stored Proc / 4 сообщений из 4, страница 1 из 1
22.04.2002, 19:29
    #32028478
Vladimir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с text Stored Proc
Нужно написать 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
23.04.2002, 04:55
    #32028482
Andreyka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с text Stored Proc
Больше 8000 символов не пойдет - ограничения сервера.
...
Рейтинг: 0 / 0
23.04.2002, 05:51
    #32028487
Vladimir
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с text Stored Proc
То есть text , ntext и.т.п. нельзя использовать как output параметр ????
...
Рейтинг: 0 / 0
23.04.2002, 06:02
    #32028488
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Работа с text Stored Proc
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
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Работа с text Stored Proc / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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