VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 814|回复: 7

SQL SERVER 可更新游标問題~~~`

[复制链接]

1

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-2-29 23:30:01 | 显示全部楼层 |阅读模式
一個簡單的例子,想測試下,但好像不能更新email,不知道問題在哪裏?
declare my_cur CURSOR  for select email from tbl_user
     open my_cur
     while @@fetch_status=0
     begin
        update tbl_user set email='test' where current of my_cur
        fetch next from my_cur
     end
回复

使用道具 举报

0

主题

26

帖子

21.00

积分

新手上路

Rank: 1

积分
21.00
发表于 2020-5-25 17:00:02 | 显示全部楼层
语法上没有问题啊
回复

使用道具 举报

0

主题

21

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-5-27 05:30:01 | 显示全部楼层
open my_cur
以下加上

fetch next from my_cur
回复

使用道具 举报

0

主题

119

帖子

67.00

积分

新手上路

Rank: 1

积分
67.00
发表于 2020-5-27 15:30:03 | 显示全部楼层
DECLARE My_Cur CURSOR SCROLL DYNAMIC
FOR
SELECT Email FROM MyUser
OPEN My_Cur
FETCH next FROM My_Cur
WHILE (@@FETCH_STATUS=0)
BEGIN
  UPDATE MyUser SET Email='Just For Test' WHERE CURRENT OF My_Cur
  FETCH next FROM My_Cur
END
DEALLOCATE My_Cur
回复

使用道具 举报

1

主题

6

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-5-27 17:15:01 | 显示全部楼层
打开游标时,游标会自动地定位在记录集中的第一条记录上.

不用fetch next from my_cur

回复

使用道具 举报

0

主题

21

帖子

16.00

积分

新手上路

Rank: 1

积分
16.00
发表于 2020-5-28 12:15:01 | 显示全部楼层
事实胜于雄辩

你一试就知道了
回复

使用道具 举报

0

主题

8

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-5-28 21:45:01 | 显示全部楼层
DECLARE My_Cur CURSOR SCROLL DYNAMIC
FOR
SELECT Email FROM MyUser
OPEN My_Cur
FETCH next FROM My_Cur
WHILE (@@FETCH_STATUS=0)
BEGIN
  UPDATE MyUser SET Email='Just For Test' WHERE CURRENT OF My_Cur
  FETCH next FROM My_Cur
END
DEALLOCATE My_Cur
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-7-2 07:30:02 | 显示全部楼层
可更新游标加上for update
declare my_cur CURSOR  for select email from tbl_user for update
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表