当时自已不会写,之后查找资料,参考了别人写的,进行了一系列的测式,发现存在很多的bug,后来,还是自已重新写:
declare @Id int //传递一个id
declare @str1 varchar(100),@str2 varchar(100)
declare @i int,@len int
declare @ptrval binary(16)
set @Id=5
set @str1='aaa' //查找的文字
set @str2='一定' //替换的内容
set @len=len(@str1)
while 1=1
begin
SELECT @i = patindex('%'+@str1+'%',PageContent) from dbo.T_CustomHTMLEditorPage WHERE MenuId=@Id
if @i>0
begin
set @i=@i-1
SELECT @ptrval = TEXTPTR(PageContent) FROM T_CustomHTMLEditorPage WHERE MenuId=@Id
UPDATETEXT T_CustomHTMLEditorPage.PageContent @ptrval @i @len @str2 //对查找到的字段进行更新
SELECT @i = patindex('%'+@str1+'%',PageContent) from T_CustomHTMLEditorPage WHERE MenuId=@Id
end
else
break
end