powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как в курсоре использовать WRITETEXT?
7 сообщений из 7, страница 1 из 1
Как в курсоре использовать WRITETEXT?
    #32039140
Erika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извините за повтор, но может все-таки кто-нибудь знает?\r
(тема )\r
\r
В форуме видела советы использовать курсор с WRITETEXT. (Курсор пишу впервые). \r
Я даже до WRITETEXT не добралась - ругается. Пишет: \r
\r
Server: Msg 2739, Level 16, State 1, Line 6 \r
The text, ntext, and image data types are invalid for local variables. \r
\r
А как же тогда с ntext и image вообще работать? \r
Может, кто-нибудь поделится примером WRITETEXT в курсоре ? Или ткнет меня носом в ошибку? Пожалуйста!!! \r
\r
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
DECLARE CopyNTextToImage CURSOR \r
FOR select f_text_only, f_body,\r
\tDATALENGTH(f_text_only) as fTextLen, DATALENGTH(f_body) as fBodyLen \r
from Patent_files where DATALENGTH(f_text_only) Is Not Null\r
\r
DECLARE @tLen int\r
DECLARE @bLen int\r
DECLARE @fText ntext\r
DECLARE @fBody image\r
\r
OPEN CopyNTextToImage\r
FETCH NEXT FROM CopyNTextToImage INTO @fText, @fBody, @tLen, @bLen\r
WHILE (@@FETCH_STATUS =  0 )\r
BEGIN\r
\tSELECT @tLen, @bLen\r
\tFETCH NEXT FROM CopyNTextToImage INTO @fText, @fBody, @tLen, @bLen\r
END\r
\r
CLOSE CopyNTextToImage\r
DEALLOCATE CopyNTextToImage
...
Рейтинг: 0 / 0
Как в курсоре использовать WRITETEXT?
    #32039142
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пример в BOL на writetext видели? Там сперва берется testptr для конкретной записи и колонки , а потом запихивается во writetext. Ну и какая разница - будет это в курсоре или нет? В каждом проходе по циклу делаете этот select и работаете как обычно. Нафига локальная переменная?
...
Рейтинг: 0 / 0
Как в курсоре использовать WRITETEXT?
    #32039156
Erika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да в том то и дело, что я не понимаю, как в курсоре получить этот самый TEXTPTR. Вариант типа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
DECLARE CopyNTextToImage CURSOR 
FOR select TEXTPTR(f_body)
from Patent_files where DATALENGTH(f_text_only) Is Not Null

DECLARE @ptrval varbinary( 16 )

OPEN CopyNTextToImage 
FETCH NEXT FROM CopyNTextToImage INTO @ptrval
WHILE (@@FETCH_STATUS =  0 )
BEGIN
	WRITETEXT Patent_files.f_body @ptrval 'qwerty'
	FETCH NEXT FROM CopyNTextToImage INTO @ptrval
END

не проходит. Сообщает:
NULL textptr (text, ntext, or image pointer) passed to WriteText function.
Я и решила, что надо сначала FETCH ... INTO

А BOL я видела, и без курсора WRITETEXT работает.
...
Рейтинг: 0 / 0
Как в курсоре использовать WRITETEXT?
    #32039166
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
DECLARE CopyNTextToImage CURSOR 
FOR select ID
from Patent_files where DATALENGTH(f_text_only) Is Not Null
DECLARE @id
DECLARE @ptrval varbinary( 16 )

OPEN CopyNTextToImage 
FETCH NEXT FROM CopyNTextToImage INTO @id
WHILE (@@FETCH_STATUS =  0 )
BEGIN
            select TEXTPTR(f_body) from Patent_files where ID=@id
	WRITETEXT Patent_files.f_body @ptrval 'qwerty'
	FETCH NEXT FROM CopyNTextToImage INTO @id
end
...
Рейтинг: 0 / 0
Как в курсоре использовать WRITETEXT?
    #32039175
GreenSunrise
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
(ворчливо) Вот так всегда - пока пишешь и проверяешь тестик, его уже за тебя запостят... Все так, как написал MiCe. Тока у меня вместо 'qwerty' было 'Some text' ;-))))))
...
Рейтинг: 0 / 0
Как в курсоре использовать WRITETEXT?
    #32039179
Фотография MiCe
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну да ... кто ж использует функцию в возвращаумом параметре курсора?......
...
Рейтинг: 0 / 0
Как в курсоре использовать WRITETEXT?
    #32039197
Erika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо просто безразмерное, MiCe и GreenSunrise.
Ну бестолковая я, ну не пользовалась отродясь курсорами :)))
З.Ы.
Говорят, сегодня день программиста. Даже если это не так, поздравляю всех на форуме! И ответственно заявляю, что это самый лучший форум!!!!
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как в курсоре использовать WRITETEXT?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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