怎样删除游标当前位置的值啊

xiangshuiyoudu 2007-05-23 12:05:33
比如游标1
求出表中的值s1,s2当s1,s2满足一定条件时
删除表中的这条纪录

该怎么做啊?为什么我用
delete table where current of cursor_t
删除不了呢?
...全文
347 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
wgzaaa 2007-05-23
  • 打赏
  • 举报
回复
可能是游标类型不对
create table #a(a varchar(10))
insert #a select 'a' union all select 'b' union all select 'a' union all select 'b' union all select 'c'
-----------------------------------------------------------
declare a cursor local scroll_locks for select * from #a
open a
declare @b varchar(10)
fetch a into @b
while (@@fetch_status=0)
begin
if @b='b'
delete #a where current of a
fetch a into @b
end
close a
deallocate a
------------------------------------------------------------
select * from #a
xiangshuiyoudu 2007-05-23
  • 打赏
  • 举报
回复
服务器: 消息 16911,级别 16,状态 1,过程 pro_TestTuples,行 33
fetch: 提取类型 absolute 不能用于只进游标。

但是不用只进游标又会出现这种

服务器: 消息 16929,级别 16,状态 1,过程 pro_TestTuples,行 46
游标是 READ ONLY 的。
该怎么办啊?
wgzaaa 2007-05-23
  • 打赏
  • 举报
回复
是的
xiangshuiyoudu 2007-05-23
  • 打赏
  • 举报
回复
fetch ABSOLUTE @i from cursor_t
这是不是取表中的第@i条纪录?

22,209

社区成员

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

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