文章目录

  • 第八十一章 SQL命令 UNLOCK
  • 大纲
    • 参数
  • 描述
    • 权限
    • Nonexistent Table
  • 示例

第八十一章 SQL命令 UNLOCK

解锁表

大纲

UNLOCK [TABLE] tablename IN EXCLUSIVE MODE [IMMEDIATE]UNLOCK [TABLE] tablename IN SHARE MODE [IMMEDIATE]

参数

  • tablename - 要解锁的表的名称。
    Tablename必须是已经存在的表。
    表名可以是限定的(schema.table),也可以是非限定的(table)。
    非限定表名接受默认模式名。
    模式搜索路径被忽略。
  • IN EXCLUSIVE MODE / IN SHARE MODE - IN EXCLUSIVE MODE关键字短语释放常规的IRIS锁。
    IN SHARE MODE关键字短语在IRIS级别释放共享锁。

描述

UNLOCK命令用来解锁被LOCK命令锁定的SQL表。
此表必须是已存在的表,您对其具有必要的特权。
如果tablename是临时表,则命令执行成功,但不执行任何操作。
如果tablename是视图,则命令失败,并出现SQLCODE -400错误。

UNLOCKUNLOCK TABLE是同义词。

UNLOCK命令用来反转LOCK操作。
即使没有锁被持有,UNLOCK命令也会成功完成。
可以使用LOCK多次锁定一个表;
必须显式解锁表,解锁次数为表被显式锁定的次数。

权限

该命令为特权操作。
在使用UNLOCK IN SHARE MODE之前,进程必须对指定的表拥有SELECT权限。
在使用UNLOCK IN EXCLUSIVE MODE之前,进程必须对指定的表具有INSERTUPDATEDELETE权限。
对于IN EXCLUSIVE MODE, INSERTUPDATE特权必须在表的至少一个字段上。
未能持有足够的特权将导致SQLCODE -99错误(特权违反)。
可以通过调用%CHECKPRIV命令来确定当前用户是否具有必要的特权。
通过调用$SYSTEM.SQL.Security.CheckPrivilege()方法,可以确定指定的用户是否具有必要的表级特权。

Nonexistent Table

如果试图解锁一个不存在的表,则unlock会失败,并出现编译错误,并且会出现SQLCODE=-30: table 'SQLUser. txt . txt消息。
mytable”未找到。

示例

下面的嵌入式SQL示例创建一个表,锁定它,然后解锁它:

ClassMethod Unlock()
{n SQLCODE,%msg&sql(CREATE TABLE mytest (ID NUMBER(12,0) NOT NULL,CREATE_DATE DATE DEFAULT CURRENT_TIMESTAMP(2),WORK_START DATE DEFAULT SYSDATE) )if SQLCODE = 0 { w !,"创建表" } else { w !,"CREATE TABLE error: ",SQLCODEq }
}
ClassMethod Unlock1()
{n SQLCODE,%msg&sql(LOCK mytest IN EXCLUSIVE MODE) if SQLCODE =0  { w !,"锁表" } elseif SQLCODE = -110 { w !,"表被另一个进程锁定",!,%msg } else { w !,"其他 LOCK error: ",SQLCODE,!,%msg }&sql(UNLOCK mytest IN EXCLUSIVE MODE) if SQLCODE=0 { w !,"解锁表" } else { w !,"其他 UNLOCK error: ",SQLCODE,!,%msg }
}
DHC-APP>d ##class(PHA.TEST.SQLCommand).Unlock1()锁表
解锁表

第八十一章 SQL命令 UNLOCK相关推荐

  1. 第七十一章 SQL命令 SELECT(三)

    文章目录 第七十一章 SQL命令 SELECT(三) 列别名 字段列别名 Non-Field列别名 FROM子句 表的别名 Sharding Transparent to SELECT Queries ...

  2. 第八十七章 SQL命令 VALUES

    文章目录 第八十七章 SQL命令 VALUES 大纲 参数 描述 示例 第八十七章 SQL命令 VALUES 指定字段中使用的数据值的INSERT/UPDATE子句. 大纲 (field1{,fiel ...

  3. 第二十一章 SQL命令 CREATE TRIGGER(一)

    文章目录 第二十一章 SQL命令 CREATE TRIGGER(一) 大纲 参数 描述 权限和锁 定义触发器的其他方式 参数 trigname event ORDER REFERENCING acti ...

  4. 第八十六章 SQL命令 USE DATABASE

    文章目录 第八十六章 SQL命令 USE DATABASE 大纲 参数 描述 通过xDBC执行 第八十六章 SQL命令 USE DATABASE 设置当前名称空间和数据库. 大纲 USE [DATAB ...

  5. MySQL数据库 第0章:每章SQL命令总结

    MySQL数据库 第0章:每章SQL命令总结 MySQL数据库 第1章:数据库入门 MySQL数据库 第2章:数据库基本操作 MySQL数据库 第3章:数据类型与约束 MySQL数据库 第4章:数据库 ...

  6. 《老子》第八十一章 信言不美,美言不信

    第八十一章 信言不美,美言不信 信言不美[1],美言不信[2].善者不辩[3],辩者不善[4].知者不博[5],博者不知[6].圣人无积[7],既以为人己愈有[8],既以与人己愈多[9].天之道,利而 ...

  7. 第六章 SQL命令 CREATE INDEX(一)

    文章目录 第六章 SQL命令 CREATE INDEX(一) 大纲 参数 描述 权限与锁 仅支持兼容性选项 索引名称 现有索引 表明 字段名称 嵌入对象中的字段(`%SerialObject`) 索引 ...

  8. 第三章 SQL命令 ALTER USER

    文章目录 第三章 SQL命令 ALTER USER 大纲 参数 描述 权限 示例 第三章 SQL命令 ALTER USER 修改用户密码. 大纲 ALTER USER user-name IDENTI ...

  9. 第十六章 SQL命令 CREATE TABLE(三)

    文章目录 第十六章 SQL命令 CREATE TABLE(三) 字段数据约束 NULL和NOT NULL UNIQUE DEFAULT DEFAULT Keywords ON UPDATE Colla ...

最新文章

  1. Librepilot-创建UAVObject及编译到飞机端和地面站端的步骤
  2. jdk1.8.0_45源码解读——Map接口和AbstractMap抽象类的实现
  3. php mysql查询结果_php对mysql查询结果进行分页 - ceil
  4. Pandas学习笔记1(序列部分)
  5. rocketmq 消息 自定义_RocketMQ消息轨迹-设计篇
  6. Android之Activity **** has leaked window android.widget.PopupWindow$PopupDecorView that was originall
  7. python3.5 连接mysql_python3.5 連接mysql本地數據庫
  8. 当强人工智能时代来临,哪些人不会失业?
  9. mysql中的rman备份_oracle数据库 rman基本备份操作
  10. 数据建模_漫谈数据仓库之维度建模
  11. Android:ViewPager
  12. access与sqlserver数据转换
  13. 决策树:ID3和C4.5
  14. 【Flask】通过Flask_login实现用户登录
  15. Xlim函数--Matplotlib
  16. xshell安卓版下载_xshell5手机安卓版下载|Xshell5最新版下载_v5.0.1199_9ht安卓下载
  17. AD9833产生DDS调试总结
  18. QWT官方例子--barchart
  19. python足球联赛赛程_足球联赛赛程表生成
  20. 现代C语言程序设计之C语言概述

热门文章

  1. 激荡10年,珍贵的毕业礼物
  2. 关于虚拟机检测技术的研究
  3. 蓝牙资讯|苹果获得智能戒指专利,可用于交互 AR / VR 头显设备
  4. java机器学习库_6大最常用的Java机器学习库一览
  5. java SpringBoot 集成 阿里云视频直播 完成直播功能
  6. 周鸿祎区块链五大缺点, 区块链的100个问题
  7. stc15XX单片机的EPROM读写
  8. 安装nvm时报错exit status 145和exit status 1 exit status 5
  9. 使用Taro小程序框架开发一个学习、刷题、论坛、聊天交流的微信小程序
  10. 前端导出 excel 打开文件提示:发现“XXX.xIsx“中的部分内容有问题。是否让我们尽量尝试恢复?如果您信任此工作簿的源,请单击‘是“。