楼主: berbang

[精华] 关于cursor中的for update关键字

[复制链接]
论坛徽章:
5
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
31#
发表于 2005-5-17 18:54 | 只看该作者
收藏中...

使用道具 举报

回复
论坛徽章:
1
ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28
32#
发表于 2005-5-20 11:32 | 只看该作者
又开了眼界了

使用道具 举报

回复
论坛徽章:
0
33#
发表于 2005-5-20 13:06 | 只看该作者
看贴涨见识

使用道具 举报

回复
论坛徽章:
0
34#
发表于 2005-5-21 10:18 | 只看该作者
照 Oracle 上面的那一段英文来翻译应该是说锁定 for update of coloumn 这个column所在的表,而不锁定其它的表。不知是否有误。

使用道具 举报

回复
论坛徽章:
0
35#
发表于 2005-5-21 10:31 | 只看该作者
我做了个测试:
create or replace procedure test as
cursor cur_test_po is
  select ph.po_no,pla.item from po_headers ph,po_lines_all pla
  where ph.po_no = pla.po_no for update of pla.item;
  
v_cur_test_po cur_test_po%rowtype;  
begin
  for v_cur_test_po in cur_test_po loop
    update po_lines_all t set t.item = t.item || ' '
    where current of cur_test_po;
   
    commit;
  end loop;
end;
在上述循环中,只能更新po_lines_all表。因为:for update of pla.item;
错误信息:无效的Rowid;
在上述循环中,更新po_lines_all表时,po_lines_all表中的行被锁定。在另外的窗口中更新,错误如下:Record is locked by another user;此时可在其它的新窗口中更新po_hearder。
(测试在PL/SQL Developer中进行,Oracle 9.*.***)

使用道具 举报

回复
论坛徽章:
3
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442010新春纪念徽章
日期:2010-03-01 11:19:06ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28
36#
发表于 2005-6-21 16:28 | 只看该作者
好帖

使用道具 举报

回复
论坛徽章:
0
37#
发表于 2006-3-6 14:57 | 只看该作者

好贴

学习,学习。。。。。

使用道具 举报

回复
论坛徽章:
16
ITPUB元老
日期:2006-12-29 17:11:00秀才
日期:2015-12-25 15:31:102015年新春福章
日期:2015-03-06 11:57:31沸羊羊
日期:2015-03-04 14:43:432012新春纪念徽章
日期:2012-01-04 11:49:54ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412010新春纪念徽章
日期:2010-03-01 11:21:02祖国60周年纪念徽章
日期:2009-10-09 08:28:002009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:鼠
日期:2008-01-02 17:35:53
38#
发表于 2006-3-7 10:10 | 只看该作者
由表锁变行锁 减少锁的使用 也就是不会锁定多余的表

使用道具 举报

回复
论坛徽章:
6
授权会员
日期:2005-10-30 17:05:332009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:猪
日期:2009-01-05 16:22:44生肖徽章2007版:鼠
日期:2009-01-06 13:01:19生肖徽章2007版:猴
日期:2009-01-09 09:44:25生肖徽章2007版:鸡
日期:2009-02-12 13:38:23
39#
发表于 2006-3-7 16:25 | 只看该作者
有空的时候看看,长见识了

使用道具 举报

回复
论坛徽章:
0
40#
发表于 2006-3-7 23:51 | 只看该作者
长见识了,,

使用道具 举报

回复

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

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表