lock
table BO_ThreeYearInvestProgramHis in exclusive mode
nowait;
一,锁
为了防止用户在同一时间并发地访问和修改资源,ORACLE使用不同类型的锁控制对数据的并发访问,以防止用户之间出现破坏性的交互操作
,oracle 为处理事务自动锁定资源。
锁在SQL语句开始它们与数据的相互作用时获得,并在事务的整个过程中有效
oracle9i使用两种锁模式:
.独占模式(排他):不允许其他任何并发会话以任何方式共享锁定的资源,修改数据时需要这种锁。
.共享模式:允许对同一块数据的并发读访问。在更改数据时,上升为独占模式
一)行级锁
insert update delete 隐式加行锁(排他)
select ... for update 显示加行锁(共享)
select ...for update 用于显示锁定将要更新的数据行,防止其他用户在更新之前操作此行
如:select * from emp where deptno=30 for update
update emp set ename='Joke' where empno=7499;
在锁释放之前,其他用户不可以对锁定的数据行进行(修改,删除)操作,查询可以
假如有其他用户要锁定同一资源:可以使用wait 子句对锁的等待时间控制
如: 在另一用户中:select * from emp where deptno=30 for update
wait 2 (等待