Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Обработка text (ntext) в процедуре / функции  [new]
Oleg Romantsev
Member

Откуда: Москва
Сообщений: 230
Задача:
Есть таблица с полем типа ntext в которых хранятся шаблоны документов (в формате rtf )

Нужно в SP достать шаблон, хитрым образом обработать его
(если грубо то заменить в нем некоторые его подчасти другими)
И выдать как результат - клиенту ( либо в виде выборки либо в возвращаемом параметре)

Трабла в том - никак не пойму как работать в процедуре с типом ntext?
Переменные такого типа объявить нельзя ((
В данный момент это реализовано на клиенте но хотелось бы сделать тоже на сервере чтобы использовать в атоматической отправке по мылу подготовленных в этой SP документов.

Есть мысли на эту тему?
27 авг 03, 17:00    [317357]     Ответить | Цитировать Сообщить модератору
 Re: Обработка text (ntext) в процедуре / функции  [new]
sardonyx
Member

Откуда:
Сообщений: 39
V predpolojenii, chto est' table Docs (DocID int, Doctext ntext):


create PROCEDURE [dbo].[stp_UpdateText] @DocID int

AS
-
declare @Src nvarchar(1000)
declare @Trg nvarchar(1000)

DECLARE @ptrval binary(16)
declare @InsOffset int
declare @delLength int

set textsize 214748364

select @Src ='qq'
select @Trg = 'zz'

select @delLength=len(@Src)

SELECT @ptrval = TEXTPTR([Doctext])
FROM DocsTable
WHERE DocID=@DocID

select @InsOffset = charindex (@Src, [Doctext]) - 1 from Docs where DocID=@DocID
while @insOffset>-1
begin
UPDATETEXT Docs.Doctext @ptrval @InsOffset @delLength @Trg
select @InsOffset = charindex (@Src, Doctext) -1
from Docs
where DocID=@DocID
end

select DocText from Docs where DocID=@DocID
GO



A dlya Vashego 'hitrogo oraza' modifitsiruite:)
27 авг 03, 17:21    [317399]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить