达梦数据库管理系统 DM
SQL 语言使用手册
达梦数据库有限公司
V6.0.10.01.11
第 1 章 结构化查询语言DM_SQL简介
目 录
1.6 DM_SQL语言支持的数据库模式
第 2 章 本手册中的实例说明
2.1 实例库说明
2.2 参考脚本
第 3 章 数据定义语句
1.4.1 常规数据类型
1.4.2 日期时间数据类型
1.4.3 多媒体数据类型
1.4.4 数据类型别名
1.5 DM_SQL语言支持的表达式
1.5.1 数值表达式
1.5.2 字符串表达式
1.5.3 时间值表达式
1.5.4 时间间隔值表达式
1.5.5 运算符的优先级
1.1 DM_SQL语言的特点
1.2 保留字与标识符
1.3 DM_SQL语言的功能及语句
1.4 DM_SQL所支持的数据类型
................................................................................................. 1
................................................................................................................. 1
........................................................................................................................ 2
..................................................................................................... 2
..................................................................................................... 3
.................................................................................................................... 3
............................................................................................................ 6
................................................................................................................ 9
.................................................................................................................... 9
..................................................................................................... 9
...................................................................................................................... 10
.................................................................................................................. 11
.................................................................................................................. 12
.......................................................................................................... 13
.............................................................................................................. 14
........................................................................................... 15
............................................................................................................... 16
.............................................................................................................................. 16
.................................................................................................................................. 24
........................................................................................................................... 42
...................................................................................................................... 42
...................................................................................................................... 44
...................................................................................................................... 46
.............................................................................................................. 46
.......................................................................................................................... 47
.......................................................................................................................... 51
.......................................................................................................................... 53
.......................................................................................................................... 53
.......................................................................................................................... 54
........................................................................................................................ 54
........................................................................................................................ 55
................................................................................................................ 56
........................................................................................................................ 57
........................................................................................................................ 57
........................................................................................................................ 68
..................................................................................................................... 74
........................................................................................................................ 75
........................................................................................................................ 76
........................................................................................................................ 78
........................................................................................................................ 79
........................................................................................................................ 80
................................................................................................................ 81
................................................................................................................ 81
................................................................................................................ 82
3.1 数据库定义语句
3.2 数据库修改语句
3.3 数据库删除语句
3.4 设置当前数据库语句
3.5 登录定义语句
3.6 登录修改语句
3.7 登录删除语句
3.8 用户定义语句
3.9 用户修改语句
3.10 用户删除语句
3.11 模式定义语句
3.12 设置当前模式语句
3.13 模式删除语句
3.14 基表定义语句
3.15 基表修改语句
3.16 基 表 删 除 语 句
3.17 全表删除语句
3.18 索引定义语句
3.19 索引删除语句
3.20 序列定义语句
3.21 序列删除语句
3.22 全文索引定义语句
3.23 全文索引修改语句
3.24 全文索引删除语句
I
3.25 数据库快照定义语句
3.26 数据库快照删除语句
第 4 章 数据查询语句和全文检索语句
4.1 单表查询
4.2 连接查询
4.3 子查询
4.1.1 简单查询
4.1.2 带条件查询
4.1.3 集函数
4.1.4 情况表达式
4.3.1 标量子查询
4.3.2 表子查询
4.3.3 派生表子查询
4.3.4 定量比较
4.3.5 带EXISTS谓词的子查询
4.3.6 多列表子查询
............................................................................................................ 83
............................................................................................................ 84
............................................................................................... 85
.................................................................................................................................. 91
.......................................................................................................................... 91
...................................................................................................................... 92
.............................................................................................................................. 94
...................................................................................................................... 96
.................................................................................................................................. 98
.................................................................................................................................... 105
.................................................................................................................... 106
........................................................................................................................ 107
................................................................................................................ 109
........................................................................................................................ 110
............................................................................................... 111
................................................................................................................ 112
.....................................................................................................................113
...................................................................................................114
................................................................................................. 114
...................................................................................................... 115
......................................................................................................................116
.....................................................................................................................117
.................................................................................................................117
.................................................................................................................................118
.............................................................................................................................. 120
.............................................................................................................. 120
...................................................................................................... 121
.................................................................................................. 121
...................................................................................................... 121
...................................................................................................................... 125
..................................................................................................... 126
........................................................................................................................ 126
........................................................................................................................ 129
........................................................................................................................ 130
............................................................................................................................ 131
........................................................................................................................... 131
.................................................................................................................... 132
...................................................................................................................... 132
................................................................................................................... 132
............................................................................................................... 132
..................................................................................... 133
......................................................................................................................................... 136
.......................................................................................................................... 136
............................................................................................................................ 137
............................................................................................................................ 139
............................................................................................................................ 140
4.10.1 层次查询子句
4.10.2 层次查询相关伪列
4.10.3 层次查询相关操作符
4.10.4 层次查询相关函数
5.5.1 DM自增列定义
5.5.2 SET IDENTITY_INSERT 属性
5.1 数据插入语句
5.2 数据修改语句
5.3 数据删除语句
5.4 伪列的使用
5.4.1 ROWID
5.4.2 UID和USER
5.4.3 ROWNUM
5.5 DM自增列的使用
4.4 查询结果的合并
4.5 GROUP BY和HAVING子句
4.5.1 GROUP BY子句的使用
4.5.2 HAVING子句的使用
4.6 ORDER BY子句
4.7 选取前几条数据
4.8 选取其中几条数据
4.9 全文检索
4.10 层次查询
4.11 查看执行计划
第 5 章 数据的插入、删除和修改
第 6 章 视图
6.1 视 图 的 作 用
6.2 视图的定义
6.3 视图的删除
6.4 视图的查询
II
6.5 视图数据的更新
第 7 章 嵌入式SQL
7.5 单元组查询语句
7.6 动态SQL
7.1 SQL前缀和终结符
7.2 宿主变量
7.2.1 输入和输出变量
7.2.2 指示符变量
7.3 服务器登录与退出
7.3.1 登录服务器
7.3.2 退出服务器
7.4 游标的定义与操纵
7.6.1 EXECUTE IMMEDIATE立即执行语句
7.6.2 PREPARE准备语句
7.6.3 EXCUTE执行语句
7.4.1 定义游标语句
7.4.2 打开游标语句
7.4.3 拨动游标语句
7.4.4 关闭游标语句
7.4.5 关于可更新游标
7.4.6 游标定位删除语句
7.4.7 游标定位修改语句
.................................................................................................................... 141
............................................................................................................................. 143
................................................................................................................. 143
................................................................................................................................ 143
............................................................................................................ 144
.................................................................................................................... 145
................................................................................................................ 145
.................................................................................................................... 145
.................................................................................................................... 146
................................................................................................................ 146
................................................................................................................ 147
................................................................................................................ 147
................................................................................................................ 148
................................................................................................................ 150
............................................................................................................ 150
........................................................................................................ 150
........................................................................................................ 151
.................................................................................................................... 152
................................................................................................................................ 153
........................................................................ 154
........................................................................................................ 155
......................................................................................................... 155
................................................................................................................................ 156
......................................................................................................................................... 157
................................................................................................................................ 166
............................................................................................................................ 173
........................................................................................................................ 184
........................................................................................................................ 193
........................................................................................................................ 194
................................................................................................................................ 195
................................................................................................................................ 196
........................................................................................................................ 215
........................................................................................................................ 222
...................................................................................................................... 223
.................................................................................................................. 230
..................................................................................................................... 233
................................................................................................................... 233
.................................................................................................................... 233
.................................................................................................................... 233
............................................................................................................ 234
........................................................................................ 235
................................................................................................................... 236
............................................................................................................................... 238
.................................................................................................................. 238
.................................................................................................................. 246
.......................................................................................................... 247
8.1 数值函数
8.2 字符串函数
8.3 日期时间函数
8.4 空值判断函数
8.5 类型转换函数
8.6 杂类函数
8.7 系统函数
8.8 存储加密函数
8.9 标记处理函数
8.10 备份恢复函数
8.11 附加分离数据库
10.1 存储模块的定义
10.2 存储模块的删除
10.3 存储模块的控制语句
7.7 异常处理
第 8 章 函数
第 9 章 一致性和并发性
9.1 DM事务相关语句
9.1.1 事务的开始
9.1.2 事务的结束
9.1.3 保存点相关语句
9.1.4 设置事务隔离级及读写特性
9.2 DM手动上锁语句
第 10 章 存储模块
III
10.3.1 语句块
10.3.2 赋值语句
10.3.3 条件语句
10.3.4 循环语句
10.3.5 EXIT语句
10.3.6 调用语句
10.3.7 RETURN语句
10.3.8 NULL语句
10.3.9 GOTO语句
10.3.10 RAISE语句
10.3.11 打印语句
10.4 存储模块的异常处理
10.4.1 异常变量的说明
10.4.2 异常的抛出
10.4.3 异常处理器
10.4.4 异常处理用法举例
10.5 存储模块的SQL语句
10.5.1 游标
10.5.2 动态SQL
10.5.3 游标变量
10.5.4 返回查询结果集
10.5.5 SQL语句应用举例
10.6 客户端存储模块
10.7 子过程、子函数
10.7.1 子过程
10.7.2 子函数
10.8 %TYPE、%ROWTYPE
10.8.1 %TYPE
10.8.2 %ROWTYPE
10.9 记录类型
10.9.1 记录类型定义
10.9.2 记录赋值
.......................................................................................................................... 247
...................................................................................................................... 249
...................................................................................................................... 249
...................................................................................................................... 250
...................................................................................................................... 252
...................................................................................................................... 253
............................................................................................................... 255
.................................................................................................................... 255
.................................................................................................................... 255
................................................................................................................. 256
.................................................................................................................... 256
.......................................................................................................... 256
.......................................................................................................... 257
.................................................................................................................. 257
.................................................................................................................. 257
...................................................................................................... 257
.......................................................................................................... 259
.............................................................................................................................. 259
...................................................................................................................... 260
...................................................................................................................... 261
.......................................................................................................... 261
........................................................................................................ 261
.................................................................................................................. 264
.................................................................................................................. 265
.......................................................................................................................... 265
.......................................................................................................................... 266
....................................................................................................... 266
.......................................................................................................................... 266
................................................................................................................ 267
.............................................................................................................................. 267
.............................................................................................................. 267
...................................................................................................................... 268
................................................................................................................................... 270
...................................................................................................................... 270
.................................................................................................................. 277
.......................................................................................................... 279
...................................................................................................... 280
.................................................................................................................. 281
.......................................................................................................................... 282
...................................................................................................... 283
...................................................................................................................... 284
.............................................................................................................. 284
.................................................................................................................. 286
.......................................................................................... 286
...................................................................................... 286
...................................................................................... 287
第 11 章 触发器
11.1 触发器的定义
11.1.1 触发器类型
11.1.2 触发器激发顺序
11.1.3 新、旧行值的引用
11.1.4 触发器谓词
11.1.5 变异表
11.1.6 设计触发器的原则
11.2 触发器的删除
11.3 禁止和允许触发器
11.4 触发器应用举例
11.4.1 使用触发器实现审计功能
11.4.2 使用触发器维护数据完整性
11.4.3 使用触发器保障数据安全性
IV
11.4.4 使用触发器派生字段值
12.13.1 创建审计分析规则
12.13.2 删除审计分析规则
12.10 审计设置语句
12.11 审计取消语句
12.12 审计信息查阅语句
12.13 审计分析
第 12 章 DM安 全 管 理
12.1 创建角色语句
12.2 删除角色语句
12.3 授权语句(数据库权限)
12.4 授权语句(对象权限)
12.5 授权语句(角色权限)
12.6 回收权限语句(数据库权限)
12.7 回收权限语句(对象权限)
12.8 回收权限语句(角色权限)
12.9 策略与标记管理
12.9.1 创建策略
12.9.2 修改策略
12.9.3 删除策略
12.9.4 安全标记
12.9.5 用户标记设置语句
12.9.6 表标记设置语句
.............................................................................................. 288
..................................................................................................................... 289
...................................................................................................................... 289
...................................................................................................................... 290
....................................................................................................... 290
........................................................................................................... 291
........................................................................................................... 295
............................................................................................... 295
................................................................................................... 297
................................................................................................... 299
.................................................................................................................. 300
...................................................................................................................... 300
...................................................................................................................... 300
...................................................................................................................... 302
...................................................................................................................... 302
...................................................................................................... 303
.......................................................................................................... 306
.................................................................................................................... 308
.................................................................................................................... 312
............................................................................................................ 314
............................................................................................................................ 314
.................................................................................................... 314
.................................................................................................... 316
............................................................................................................................. 316
............................................................................................................ 316
............................................................................................................ 317
............................................................................................................ 320
............................................................................................................................... 321
...................................................................................................................... 321
...................................................................................................................... 322
...................................................................................... 322
......................................................................................................................... 324
.......................................................................................................................... 324
.......................................................................................................................... 325
.......................................................................................................................................... 327
.................................................................................................................................. 327
.................................................................................................................. 327
.................................................................................................................. 327
.................................................................................................................................. 328
.................................................................................................................. 328
.................................................................................................................. 329
.............................................................................................................................. 329
................................................................................................................................... 332
.......................................................................................................................... 332
.......................................................................................................................... 332
...................................................................................................................... 334
13.1 创建外部链接
13.2 删除外部链接
13.3 使用外部连接进行远程对象操作
12.14.1 创建加密引擎
12.14.2 修改加密引擎
12.14.3 删除加密引擎
第 14 章 DM备份还原
14.1 备份数据库
14.2 还原数据库
第 15 章 包
15.1 创建包
15.3 应用实例
第 16 章 同义词
16.1 创建同义词
16.2 删除同义词
附录 1 关键字和保留字
15.2 删除包
15.1.1 创建包规范
15.1.2 创建包主体
15.2.1 删除包规范
15.2.2 删除包主体
12.14 加密引擎
第 13 章 外部链接
V
附录 2 SQL语法描述说明
附录 3 SQL命令参考
附录 4 系统存储过程和函数
附录 5 DM技术支持
................................................................................................................... 338
........................................................................................................................... 341
............................................................................................................... 343
............................................................................................................................ 387
VI
第 1 章 结构化查询语言 DM_SQL 简介
第 1 章 结构化查询语言 DM_SQL 简介
结构化查询语言 SQL(Structured Query Language)是在 1974 年提出的一种关系数据库语言。
由于 SQL 语言接近英语的语句结构,方便简洁、使用灵活、功能强大,倍受用户及计算机工业
界的欢迎,被众多计算机公司和数据库厂商所采用,经各公司的不断修改、扩充和完善,SQL 语
言最终发展成为关系数据库的标准语言。
SQL 的第一个标准是 1986 年 10 月由美国国家标准化组织(ANSI)公布的 ANSI X3.135-1986
数据库语言 SQL,简称 SQL-86,1987 年国际标准化组织(ISO)也通过了这一标准。以后通过对
SQL-86 的不断修改和完善,于 1989 年第二次公布了 SQL 标准 ISO/IEC 9075-1989(E),即 SQL-89。
1992 年又公布了 SQL 标准 ISO/IEC 9075:1992,即 SQL-92。最新的 SQL 标准是 SQL-3(也称
SQL-99),1999 年作为 ISO/IEC 9075:1999《信息技术——数据库语言 SQL》发布。我国也相继
公布了数据库语言 SQL 的国家标准。
SQL 成为国际标准以后,其影响远远超出了数据库领域。例如在 CAD、软件工程、人工智
能、分布式等领域,人们不仅把 SQL 作为检索数据的语言规范,而且也把 SQL 作为检索图形、
图象、声音、文字等信息类型的语言规范。目前,世界上大型的著名数据库管理系统均支持 SQL
语言,如 Oracle、Sybase、SQL Server、DB2 等。在未来相当长的时间里,SQL 仍将是数据库领
域以至信息领域中数据处理的主流语言之一。
由于不同的 DBMS 产品,大都按自己产品的特点对 SQL 语言进行了扩充,很难完全符合 SQL
标准。目前在 DBMS 市场上已将 SQL 的符合率作为衡量产品质量的重要指标,并研制成专门的
测试软件,如 NIST。目前, DM SQL-92 入门级和过渡级的符合率均达到 100%,并且部分支持
更新的 SQL-99 标准。同时 DM 还兼容 Oracle 8i 和 SQL Server 2000 的部分语言特性。本章主要
介绍 DM 系统所支持的 SQL 语言——DM_SQL 语言。
1.1 DM_SQL 语言的特点
DM_SQL 语言符合结构化查询语言 SQL 标准,是标准 SQL 的扩充。它集数据定义、数据查
询、数据操纵和数据控制于一体,是一种统一的、综合的关系数据库语言。它功能强大,使用简
单方便、容易为用户掌握。DM_SQL 语言具有如下特点:
1.功能一体化
DM_SQL 的功能一体化表现在以下两个方面:
1.DM_SQL 支持多媒体数据类型,用户在建表时可直接使用。DM 系统在处理常规数据与
多媒体数据时达到了四个一体化:一体化定义、一体化存储、一体化检索、一体化处理,最大限
度地提高了数据库管理系统处理多媒体的能力和速度;
2.DM_SQL 语言集数据库的定义、查询、更新、控制、维护、恢复、安全等一系列操作于
一体,每一项操作都只需一种操作符表示,格式规范,风格一致,简单方便,很容易为用户所掌
握。
2.两种用户接口使用统一语法结构的语言
DM_SQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能独立运行于联机交
互方式。作为嵌入式语言,DM_SQL 语句能够嵌入到 C 和 C++语言程序中,将高级语言(也称主
语言)灵活的表达能力、强大的计算功能与 DM_SQL 语言的数据处理功能相结合,完成各种复杂
的事务处理。而在这两种不同的使用方式中,DM_SQL 语言的语法结构是一致的,从而为用户使
1