我在编辑某条数据时进行打开锁定是这样用吗:
select * from table_name where id=1 for update
如何解除锁定呢?等待update语句解除吗?
如果我想等待10分钟如果没有update语句就自动解除锁定应该怎么写呢?
等待高手指点
gjunyu@qq.com
------解决方案--------------------
commit 或rollback解除锁定
------解决方案--------------------
LOCK TABLE
语法:
LOCK TABLE table_1 [,table_2, ..., table_n] IN lock_mode MODE
NOWAIT
变量:
table_1,...,table_n: 一系列你想通过使用LOCK TABLE语句锁住的数据库表。
lock_mode: 对于某一数据库表你要设定的锁定模式。你可以从如下的锁定模式中任选一个。
EXCLUSIVE
SHARE ROW EXCLUSIVE
SHARE
SHARE UPDATE
ROW SHARE
ROW EXCLUSIVE
NOWAIT: Oracle will not wait to lock the given Table(s), if the Table(s) is(are) not
available
------解决方案--------------------
可以在for update 后面加上 wait 10, 就是等待10秒后如果锁定行的那个用户没有提交或回滚,将自动释放资源