oracle的for update 是否有返回值

[复制链接]
查看11 | 回复3 | 2007-10-20 08:38:44 | 显示全部楼层 |阅读模式
各位大侠们好
想问各位当输入select * 。。。。for update的时候,oracle都做了些什么?
是如何判断可以对这个表上锁??
是不是当输入for update 的时候,该表已经设置了锁,那返回值是不是就是false啊?
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
当执行select * from table_name for update 时ORACLE给表设置Row-exclusixe锁,给选择的行设置exclusive锁。此时不允许对表的结构进行修改。执行这条语句会返回值。判断给表上锁可以查询dba_dml_locks视图。
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
select * from table_name for update在表上加的是rs锁,正常的dml在表上加的是rx锁
具体请参考oracle concepts
回复

使用道具 举报

千问 | 2007-10-20 08:38:44 | 显示全部楼层
忘记在什么地方看到过for update 是有返回值的
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行