社区
Oracle 高级技术
帖子详情
oracle游标打开机制
gtfcccq
2009-08-06 10:51:54
在oracle中定义了一个游标 比如select * from A order by a1,同时open该游标,
在游标中需要对该表A进行修改,并且修改A表的数据a1字段,是否会对游标的正常读取有
影响没有。数据是在open的时候从数据中读出,还在fecth的时候才中数据库中读出。
...全文
125
8
打赏
收藏
oracle游标打开机制
在oracle中定义了一个游标 比如select * from A order by a1,同时open该游标, 在游标中需要对该表A进行修改,并且修改A表的数据a1字段,是否会对游标的正常读取有 影响没有。数据是在open的时候从数据中读出,还在fecth的时候才中数据库中读出。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vvwwvv
2009-08-08
打赏
举报
回复
游标是在fetch的时候,取把数据,修改需要"COMMIT;"才能修改到数据库
inthirties
2009-08-08
打赏
举报
回复
游标是在fetch的时候,才会把数据拿到。
修改需要提交才能修改到数据库
zhangchu_63
2009-08-07
打赏
举报
回复
没注意过。
帮顶。。。。。
majy
2009-08-07
打赏
举报
回复
1. 修改的时候在没有commit前,是不对原表操作的,所以对正常读取数据没什么影响。
2. 程序一般都是这么写的:
OPEN c1;
LOOP
FETCH c1 INTO c1_rec;
EXIT WHEN c1%NOTFOUND;
从这一点说明,是fetch的时候取数据的,取数据的时候才知道是否已经没数据了 :-)
csuxp2008
2009-08-07
打赏
举报
回复
fetch的时候才有数据取出
要想通过游标修改表中数据,在定义游标的时候要加 for update
在修改数据的时候要加上where current of cursor_name
Megan2008
2009-08-07
打赏
举报
回复
2楼只写了打开游标的一部分,用完之后还要把游标关闭
cosio
2009-08-07
打赏
举报
回复
[Quote=引用楼主 gtfcccq 的回复:]
在oracle中定义了一个游标 比如select * from A order by a1,同时open该游标,
在游标中需要对该表A进行修改,并且修改A表的数据a1字段,是否会对游标的正常读取有
影响没有。数据是在open的时候从数据中读出,还在fecth的时候才中数据库中读出。
[/Quote]
游标的取出的时候,在你修改后并commit那就取得到值,
如果游标取出,而修改后,还没有提前,那应该会锁住该行,如果是同时发生的话!
gaogao110
2009-08-07
打赏
举报
回复
即使是后来修改了并且提交了,也不会影响原来的值,oracle会把原来的值保存在另外一个地方
Oracle
游标
使用大全
Oracle
游标
的一般使用
Oracle
游标
使用大全.pdf
游标
是存储过程最基本的要会的,用于访问
ORACLE
数据库的 DDL 和 TCL 语
Oracle
游标
使用方法及语法大全.doc
Oracle
游标
使用方法及语法大全.doc
oracle
游标
使用大全1.txt
oracle
游标
使用大全,其中有很多例子,有助于大家理解,希望对初学者有帮助
Oracle
游标
使用大全
Oracle
游标
使用大全
Oracle 高级技术
3,494
社区成员
18,710
社区内容
发帖
与我相关
我的任务
Oracle 高级技术
Oracle 高级技术相关讨论专区
复制链接
扫一扫
分享
社区描述
Oracle 高级技术相关讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章