USE dbname
SET TEXTSIZE 2048
GO
DECLARE @ptrval1 varbinary(16),@ptrval2 varbinary(16)
declare @i bigint,@j bigint,@k bigint
set @i=1
SELECT @ptrval1 = TEXTPTR(f1)
FROM ta where (condition1)
SELECT @ptrval2 = TEXTPTR(f2)
FROM tb where (condition2)
updatetext tb.f2 @ptrval2 1 2048 READTEXT ta.pr_info @ptrval1 1 2048
while @@error=0
begin
select @j=@i*2048+1,@k=(@i+1)*2048
updatetext tb.f2 @ptrval2 @j @k READTEXT ta.pr_info @ptrval1 @j @k
set @i=@i+1
end
GO
SET TEXTSIZE 2048
GO
DECLARE @ptrval1 varbinary(16),@ptrval2 varbinary(16)
declare @i bigint,@j bigint,@k bigint
set @i=1
SELECT @ptrval1 = TEXTPTR(f1)
FROM ta where (condition1)
SELECT @ptrval2 = TEXTPTR(f2)
FROM tb where (condition2)
updatetext tb.f2 @ptrval2 1 2048 READTEXT ta.pr_info @ptrval1 1 2048
while @@error=0
begin
select @j=@i*2048+1,@k=(@i+1)*2048
updatetext tb.f2 @ptrval2 @j @k READTEXT ta.pr_info @ptrval1 @j @k
set @i=@i+1
end
GO
SET TEXTSIZE 2048
GO
DECLARE @ptrval1 varbinary(16),@ptrval2 varbinary(16)
declare @i bigint,@j bigint,@k bigint
set @i=1
SELECT @ptrval1 = TEXTPTR(f1)
FROM ta where (condition1)
SELECT @ptrval2 = TEXTPTR(f2)
FROM tb where (condition2)
updatetext tb.f2 @ptrval2 1 2048 READTEXT ta.pr_info @ptrval1 1 2048
while @@rowcount>0
begin
set @i=@i+1
select @j=(@i-1)*2048+1,@k=@i*2048
updatetext tb.f2 @ptrval2 @j @k READTEXT ta.pr_info @ptrval1 @j @k
end
GO
向 UpdateText 函数传递了 NULL textptr(text、ntext 或 image 指针)。
服务器: 消息 7124,级别 16,状态 1,过程 CreateFile,行 174
READTEXT 语句中指定的偏移量和长度大于实际的数据长度 404。
服务器: 消息 7133,级别 16,状态 2,过程 CreateFile,行 174
向 UpdateText 函数传递了 NULL textptr(text、ntext 或 image 指针)。
服务器: 消息 7124,级别 16,状态 1,过程 CreateFile,行 174
READTEXT 语句中指定的偏移量和长度大于实际的数据长度 404。
为什么我用
updatetext tb.f2 @ptrval2 null null ta.pr_info @ptrval1
还是报
向 UpdateText 函数传递了 NULL textptr(text、ntext 或 image 指针)。
高手请帮忙