oracle行锁select for update
Posted stono
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle行锁select for update相关的知识,希望对你有一定的参考价值。
oracle行锁select for update
学习了:https://blog.csdn.net/zdwzzu2006/article/details/50490157
学习了:https://blog.csdn.net/liqfyiyi/article/details/7948282
statement: 一个SQL语句。 session: 一个由ORACLE用户产生的连接,一个用户能产生多个SESSION ,但相互之间是独立的。 transaction:所有的改动都能划分到transaction里,一个transaction包含一个或多个SQL。当一个SESSION建立的时候就是个TRANSACTION开始的时刻,此后transaction的开始和结束由DCL控制,也就是每个COMMIT/ROLLBACK都标示着一个transaction的结束。 consistency:是对于statement级别而不是transaction级别来说的。sql statement 得到的数据都是以sql statement开始的IMAGE。 用法介绍: update, insert ,delete, select ... for update会LOCK相应的ROW 。 只有一个TRANSACTION可以LOCK相应的行,也就是说如果一个ROW已经LOCKED了,那就不能被其他TRANSACTION所LOCK了。 LOCK由statement产生但却由TRANSACTION结尾(commit,rollback),也就是说一个SQL完成后LOCK还会存在,只有在COMMIT/ROLLBACK后才会师释放。
以上是关于oracle行锁select for update的主要内容,如果未能解决你的问题,请参考以下文章
mysql的行锁与表锁(select* .... FOR UPDATE)
mysql 多列唯一索引在事务中select for update是否行锁
select for update是行锁还是表锁,还真得看情况