powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Конкатенация значений text
8 сообщений из 8, страница 1 из 1
Конкатенация значений text
    #32059760
yura_silver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто может подсказать - сабж вообще возможен средствами T-SQL?

Или есть другое решение?

Т.е. мне надо пройтись по таблице, содержащей поля text, и получить объединенное значение.

Но код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE PROCEDURE [dbo].[ConcText]
(
  @SqlStr text = '' output 
)
AS
SELECT @SqlStr = @SqlStr + TextField
FROM
  SomeTable
  
GO


не работает :(
...
Рейтинг: 0 / 0
Конкатенация значений text
    #32059782
Фотография Lexis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
работайте через readtext, updatetext
...
Рейтинг: 0 / 0
Конкатенация значений text
    #32059784
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно через вспомогательную таблицу... В нее скидывать все через WRITETEXT, потом READTEXT из нее...

Удачи
...
Рейтинг: 0 / 0
Конкатенация значений text
    #32059842
yura_silver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как быть со значением size для READTEXT?
Если указываю 0, читает 1-е 4 кб.
А если указываю конкретное значение, выдает ошибку
Код: plaintext
1.
Server: Msg  7124 , Level  16 , State  1 , Procedure AppendText, Line  20 
The offset and length specified in the READTEXT statement is greater than the actual data length of  1 .

если значение в поле меньше, чем задаваемая длина...
...
Рейтинг: 0 / 0
Конкатенация значений text
    #32059845
vap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это делается через курсор.

DECLARE mCursor CURSOR FOR SELECT SqlStr FROM SomeTable
WHERE
OPEN mCursor

WHILE 1=1 BEGIN
FETCH NEXT FROM mCursor INTO @SqlStr1
IF @@FETCH_STATUS <> 0 BREAK
SET@SqlStr = @SqlStr + TextField
END
CLOSE mCursor
DEALLOCATE mCursor
...
Рейтинг: 0 / 0
Конкатенация значений text
    #32059878
yura_silver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 vap:
Выбрать из курсора в параметр типа text, ntext или image нельзя . Увы...

То, к чему я пришел пока что:
В курсоре выбираю TextPtr и длину текста, затем читаю его с помощью READTEXT...

Кто-нибудь подскажет, как правильно использовать readtext?
...
Рейтинг: 0 / 0
Конкатенация значений text
    #32059879
Фотография Lexis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 -- READTEXT with a protected text pointer
 
BEGIN TRAN
DECLARE @mytextptr varbinary( 16 ), @sizeneeded int, @pat_offset int
SELECT @mytextptr=TEXTPTR(pr_info), 
    @pat_offset=PATINDEX('%Washington%',pr_info) -  1 ,
    @sizeneeded=DATALENGTH(pr_info) - 
        (PATINDEX('%Washington%',pr_info) -  1 )
    FROM pub_info (HOLDLOCK) WHERE pub_id='0877' 

IF @mytextptr IS NOT NULL AND @pat_offset >=  0  AND
    @sizeneeded IS NOT NULL
    READTEXT  pub_info.pr_info @mytextptr @pat_offset @sizeneeded

COMMIT TRAN

...
Рейтинг: 0 / 0
Конкатенация значений text
    #32059889
yura_silver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да... почитав другие посты на форуме, понял всю бесперспективность подобного подхода...

Видимо, лучше и проще сцеплять строки на клиенте...
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Конкатенация значений text
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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