select ... for update注意点-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 3977555
  • 博文数量: 536
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4825
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(536)

文章存档

2024年(3)

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(252)

2006年(73)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: oracle

2006-12-19 11:35:19

select ... for update [of ...][nowait | wait integer]

注意:
  1>. lock操作只有在事务提交后才释放锁;同样的道理,对于一个游标使用了for update打开后,虽然关闭了游标,但这个lock也仍是存在

的,直到事务结束(commit/rollback)。

  2>. of 的注意点:
下面的例子,如果没有"of e.salary"那么表employees和表departments中与该查询相关的行将会lock。添加了"of e.salary"后只会lock 表

employees与该查询相关的行。
select e.employee_id, e.salary, e.commission_pct
   from employees e join departments d
   using (department_id)
   where job_id = 'sa_rep'
   and location_id = 2500
   for update of e.salary;

  3>. nowait指在执行"select ... for update"时其他事务修改了该查寻的结果但还没有提交,此时将立即返回如下结果:
ora-00054: resource busy and acquire with nowait specified
如果不使用nowait等项,默认为等待(wait)其他事务提交后在返回结果。

  4>. wait integer,与nowait的功能相似,但可以等待用户指定的秒数。如:"wait 3"等待3秒后,其他事务还没有提交将返回如下结果:
ora-30006: resource busy; acquire with wait timeout expired
阅读(2201) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图