加入收藏 | 设为首页 | 会员中心 | 我要投稿 百客网 - 百科网 (https://www.baikewang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

数据库更新操作 ORACLE的封锁机制

发布时间:2022-10-13 10:46:40 所属栏目:MySql教程 来源:
导读:  DML锁有如下三种封锁方式:

  (1)、共享封锁方式(SHARE)

  (2)、独占封锁方式(EXCLUSIVE)

  (3)、共享更新封锁(SHARE UPDATE)

  其中SHARE,EXCLUSIVE用于表封锁,SHARE UP
  DML锁有如下三种封锁方式:
 
  (1)、共享封锁方式(SHARE)
 
  (2)、独占封锁方式(EXCLUSIVE)
 
  (3)、共享更新封锁(SHARE UPDATE)
 
  其中SHARE,EXCLUSIVE用于表封锁,SHARE UPDATE用于行封锁。
 
  1、共享方式的表封锁
 
  共享方式的表封锁是对表中的所有数据进行封锁,该锁用于保护查询数据的一致性,防止其它用户对已封锁的表进行更更新。其它用户只能对该表再施加共享方式的锁,而不能再对该表施加独占方式的封锁,共享更新锁可以再施加,但不允许持有共享更新封锁的进程做更新。共享该表的所有用户只能查询表中的数据,但不能更新。共享方式的表封锁只能由用户用SQL语句来设置,基语句格式如下:
 
  [quote:04b72348bd]LOCK TABLE [,]...
 
  IN SHARE MODE [NOWAIT]
 
  [/quote:04b72348bd]
 
  执行该语句,对一个或多个表施加共享方式的表封锁。当指定了选择项NOWAIT数据库更新操作,若该封锁暂时不能施加成功,则返回并由用户决定是进行等待,还是先去执行别的语句。
 
  持有共享锁的事务,在出现如下之一的条件时,便释放其共享锁:
 
  A、执行COMMIT或ROLLBACK语句。
 
  B、退出数据库(LOGOFF)。
 
  C、程序停止运行。
 
  共享方式表封锁常用于一致性查询过程,即在查询数据期间表中的数据不发生改变。
 

(编辑:百客网 - 百科网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!