VerySource

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

请教一个关于游标的问题

[复制链接]

1

主题

1

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2020-3-21 05:30:02 | 显示全部楼层 |阅读模式
有一个问题一直困扰我,哪位大侠帮我解释一下:假设我在程序中声明一个游标读A表,然后写一个循环语句对游标循环作FETCH,而这个时候另外一个事务不停的对A表INSERT新的记录,那么新插入的记录能被FETCH到么?游标所能处理的结果集大小到底是怎么确定的呢?
回复

使用道具 举报

0

主题

4

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2020-8-14 14:30:01 | 显示全部楼层
不会的,只要那里没有commit就不会被读到
回复

使用道具 举报

0

主题

1

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2020-8-15 16:00:01 | 显示全部楼层
游标读完后,在对A表插入,应该不会在读到了。
回复

使用道具 举报

0

主题

2

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2020-8-15 16:15:01 | 显示全部楼层
刚学DB2,问题简单,请包涵。
我想问下这个返回结果集的存储过程为何不对?(在命令编辑器中建的)
create procedure getPeople
dynamic result sets 1
language sql
begin
declare rs1 cursor with return to client for
select name,age from test;
open rs1;
end

另外,测试这个存储过程,是否只要:  call getpeople就行了?
回复

使用道具 举报

0

主题

2

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2020-8-15 23:00:01 | 显示全部楼层
上个返回结果集的存储过程没有错误,但在命令编辑器中执行时出错,在Command Window中能够执行。(每行后面要加上个空格和\,最后一行不要加\)。
还有个问题:存储过程怎么升级?难道用drop procedure 过程名 ,一个一个删除?在sql中,可否一次执行多个 “drop procedure 过程名”?

没有mssql server和sybase、oracle方便。
回复

使用道具 举报

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

本版积分规则

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

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