晕菜!实在搞不好,向各位哥哥求教了?谢谢!!!

ntcw 2007-04-11 05:07:42
晕菜!实在搞不好,向各位哥哥求教了?谢谢!!!

1) 问题描述

读取一个表中的text类型的值,传到另外一个存储过程时老提示这样错误?晕,为什么?

消息 156,级别 15,状态 1,第 48 行
关键字 'READTEXT' 附近有语法错误。


2) 代码如下:
Declare
@SectionID int
,@ToSectionID int
,@UserID int
,@PostID int
,@Subject varchar(255)
,@Content varbinary(16) --
,@PostDate datetime

set @SectionID = 782
set @ToSectionID = 26
set @UserID = 2102


-- 把记录读到临时表中
DECLARE _Cursor CURSOR FOR
Select PostID,Subject,PostDate From DB_Bokegu_com.DBO.cs_Posts
Where SectionID=@SectionID

OPEN _Cursor

-- 读取临时表中的一条记录到变量中
FETCH NEXT FROM _Cursor --(Subject,textptr(Content),IP,PostDate)
INTO @PostID,@Subject,@PostDate

-- 循环把变量中的值通过存储过程加入到另外一个库的表中
WHILE @@FETCH_STATUS = 0
BEGIN

-- 由于Text不能放到变量中,因此这里采用中转的方式读取
Select @Content=textptr(Body) from DB_Bokegu_com.DBO.cs_Posts Where PostID=@PostID

-- 执行存贮过程
Exec cs_Post_CreateUpdate
@Subject =@Subject
,@UserID = @UserID
,@Body = READTEXT(@Content)

-- Get the next author.
FETCH NEXT FROM _Cursor
INTO @PostID,@Subject,@PostDate

END

DEALLOCATE _Cursor

Go
...全文
160 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoku 2007-04-11
  • 打赏
  • 举报
回复
@Body
----------
改这个变量的类型...
ntcw 2007-04-11
  • 打赏
  • 举报
回复
thanks

如果把varbinary类型变量改成varchar(8000)上面程序可以正常运行,但是有些超长的部份就被截掉了.

22,294

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧