Loading

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后才会师释放。

 

posted @ 2018-05-11 18:26  stono  阅读(288)  评论(0编辑  收藏  举报