重庆思庄Oracle、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1299|回复: 0
打印 上一主题 下一主题

[Oracle] LOCK TABLE语法

[复制链接]
跳转到指定楼层
楼主
发表于 2022-8-9 17:31:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Oracle LOCK TABLE语句(锁表)

在 Oracle 中,LOCK TABLE 语句可以用来锁定表、表分区或表子分区。

LOCK TABLE语法

LOCK TABLE 语句的语法是:

LOCK TABLE tables IN lock_mode MODE [ WAIT [, integer] | NOWAIT ];

参数

  • tables:用逗号分隔的表格列表。
  • lock_mode:它是以下值之一:
[td]
lock_mode
描述
ROW SHARE允许同时访问表,但阻止用户锁定整个表以进行独占访问。
ROW EXCLUSIVE允许对表进行并发访问,但阻止用户以独占访问方式锁定整个表并以共享方式锁定表。
SHARE UPDATE允许同时访问表,但阻止用户锁定整个表以进行独占访问。
SHARE允许并发查询,但用户无法更新锁定的表。
SHARE ROW EXCLUSIVE用户可以查看表中的记录,但是无法更新表或锁定SHARE表中的表。
EXCLUSIVE允许查询锁定的表格,但不能进行其他活动。

  • WAIT:它指定数据库将等待(达到指定整数的特定秒数)以获取 DML 锁定。
  • NOWAIT:它指定数据库不应该等待释放锁。
LOCK TABLE示例

下面是一个如何在 Oracle 中使用 LOCK TABLE 语句的例子:

LOCK TABLE suppliers IN SHARE MODE NOWAIT;

这个例子会锁定 suppliers 表在共享模式,而不是等待锁定被释放。

怎么unlock table 解锁

方法一、kill session:

方法二、rollback/commit 终止事务处理



分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2024-6-27 02:58 , Processed in 0.082378 second(s), 21 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表