目录
目录
第 1 章 结构化查询语言 DM_SQL 简介 .................................................................... 1
1.1 DM_SQL 语言的特点 ..................................................................................................... 1
1.2 保留字与标识符 ............................................................................................................ 2
1.3 DM_SQL 语言的功能及语句 ......................................................................................... 2
1.4 DM_SQL 所支持的数据类型 ......................................................................................... 3
1.4.1 常规数据类型 .................................................................................................... 3
1.4.2 位串数据类型 .................................................................................................... 5
1.4.3 日期时间数据类型 ............................................................................................ 6
1.4.4 多媒体数据类型 .............................................................................................. 10
1.5 DM_SQL 语言支持的表达式 ....................................................................................... 10
1.5.1 数值表达式 ...................................................................................................... 10
1.5.2 字符串表达式 .................................................................................................. 13
1.5.3 时间值表达式 .................................................................................................. 13
1.5.4 时间间隔值表达式 .......................................................................................... 15
1.5.5 运算符的优先级 .............................................................................................. 16
1.6 DM_SQL 语言支持的数据库模式 ............................................................................... 17
第 2 章 手册中的示例说明 ...................................................................................... 18
2.1 示例库说明 .................................................................................................................. 18
2.2 参考脚本 ...................................................................................................................... 26
2.2.1 创建示例库 ...................................................................................................... 26
2.2.2 创建模式及表 .................................................................................................. 26
2.2.3 插入数据 .......................................................................................................... 33
第 3 章 数据定义语句 .............................................................................................. 50
3.1 数据库修改语句 .......................................................................................................... 50
3.2 管理用户 ...................................................................................................................... 54
3.2.1 用户定义语句 .................................................................................................. 54
3.2.2 修改用户语句 .................................................................................................. 59
3.2.3 用户删除语句 .................................................................................................. 61
3.3 管理模式 ...................................................................................................................... 62
3.3.1 模式定义语句 .................................................................................................. 62
3.3.2 设置当前模式语句 .......................................................................................... 64
3.3.3 模式删除语句 .................................................................................................. 64
3.4 管理表空间 .................................................................................................................. 65
3.4.1 表空间定义语句 .............................................................................................. 65
3.4.2 修改表空间语句 .............................................................................................. 66
3.4.3 表空间删除语句 .............................................................................................. 68
3.4.4 表空间失效文件检查 ...................................................................................... 69
I
目录
3.4.5 表空间失效文件恢复准备 .............................................................................. 69
3.4.6 表空间失效文件恢复 ...................................................................................... 69
3.5 管理 HTS 表空间 ......................................................................................................... 70
3.5.1 创建 HTS 表空间 ............................................................................................. 70
3.5.2 删除 HTS 表空间 ............................................................................................. 70
3.6 管理表 .......................................................................................................................... 71
3.6.1 基表定义语句 .................................................................................................. 71
3.6.2 基表修改语句 ................................................................................................ 105
3.6.3 基 表 删 除 语 句 ............................................................................................. 120
3.6.4 基表数据删除语句 ........................................................................................ 121
3.6.5 事务型 HUGE 表数据重整 ............................................................................ 121
3.7 管理索引 .................................................................................................................... 122
3.7.1 索引定义语句 ................................................................................................ 122
3.7.2 索引修改语句 ................................................................................................ 127
3.7.3 索引删除语句 ................................................................................................ 129
3.8 管理位图连接索引 ..................................................................................................... 130
3.8.1 位图连接索引定义语句 ................................................................................ 130
3.8.2 位图连接索引删除语句 ................................................................................ 132
3.9 管理全文索引 ............................................................................................................ 132
3.9.1 全文索引定义语句 ........................................................................................ 132
3.9.2 全文索引修改语句 ........................................................................................ 133
3.9.3 全文索引删除语句 ........................................................................................ 134
3.10 管理空间索引 .......................................................................................................... 135
3.11 管理数组索引 .......................................................................................................... 135
3.11.1 数组索引定义语句 ..................................................................................... 136
3.11.2 数组索引修改语句 ..................................................................................... 136
3.11.3 数组索引使用 ............................................................................................. 136
3.11.4 数组索引删除语句 ..................................................................................... 138
3.12 管理序列 .................................................................................................................. 138
3.12.1 序列定义语句 ............................................................................................. 138
3.12.2 序列修改语句 ............................................................................................. 141
3.12.3 序列删除语句 ............................................................................................. 143
3.13 管理 SQL 域 ............................................................................................................. 143
3.13.1 创建 DOMAIN ............................................................................................... 143
3.13.2 使用 DOMAIN ............................................................................................... 144
3.13.3 删除 DOMAIN ............................................................................................... 145
3.14 管理上下文 .............................................................................................................. 145
3.14.1 创建上下文 .................................................................................................. 145
3.14.2 删除上下文 .................................................................................................. 147
3.15 管理目录 .................................................................................................................. 148
3.15.1 创建目录 ...................................................................................................... 148
3.15.2 删除目录 ...................................................................................................... 148
3.16 设置当前会话 .......................................................................................................... 149
3.16.1 时区信息 ...................................................................................................... 149
II
目录
3.16.2 日期串语言 .................................................................................................. 149
3.17 注释语句 .................................................................................................................. 150
3.18 设置 INI 参数 ......................................................................................................... 150
3.18.1 设置参数值 .................................................................................................. 151
3.18.2 设置仅对当前会话起作用 .......................................................................... 151
3.19 修改系统语句 .......................................................................................................... 152
3.20 设置列、索引生成统计信息 .................................................................................. 152
第 4 章 数据查询语句 ............................................................................................ 154
4.1 单表查询 .................................................................................................................... 165
4.1.1 简单查询 ........................................................................................................ 165
4.1.2 带条件查询 .................................................................................................... 166
4.1.3 集函数 ............................................................................................................ 169
4.1.4 分析函数 ........................................................................................................ 174
4.1.5 情况表达式 .................................................................................................... 191
4.2 连接查询 .................................................................................................................... 194
4.2.1 交叉连接 ........................................................................................................ 194
4.2.2 自然连接(NATURAL JOIN) ...................................................................... 195
4.2.3 JOIN … USING ............................................................................................ 196
4.2.4 JOIN…ON ....................................................................................................... 196
4.2.5 自连接 ............................................................................................................ 196
4.2.6 内连接(INNER JOIN) ................................................................................ 197
4.2.7 外连接(OUTER JOIN) ................................................................................ 198
4.3 子查询 ........................................................................................................................ 202
4.3.1 标量子查询 .................................................................................................... 203
4.3.2 表子查询 ........................................................................................................ 204
4.3.3 派生表子查询 ................................................................................................ 206
4.3.4 定量比较 ........................................................................................................ 207
4.3.5 带 EXISTS 谓词的子查询 ........................................................................... 208
4.3.6 多列表子查询 ................................................................................................ 209
4.4 WITH 子句 ................................................................................................................ 210
4.4.1 WITH FUNCTION 子句 ............................................................................... 210
4.4.2 公用表表达式子句 ........................................................................................ 211
4.5 合并查询结果 ............................................................................................................. 213
4.6 GROUP BY 和 HAVING 子句 .................................................................................... 214
4.6.1 GROUP BY 子句的使用 ............................................................................... 214
4.6.2 ROLLUP 的使用 ............................................................................................ 215
4.6.3 CUBE 的使用 ................................................................................................. 217
4.6.4 GROUPING 的使用 ....................................................................................... 218
4.6.5 GROUPING SETS 的使用 ........................................................................... 219
4.6.6 GROUPING_ID 的使用 ................................................................................ 220
4.6.7 GROUP_ID 的使用 ....................................................................................... 221
4.6.8 HAVING 子句的使用 .................................................................................... 222
4.7 ORDER BY 子句 ........................................................................................................ 223
4.8 FOR UPDATE 子句 ................................................................................................... 224
III
目录
4.9 TOP 子句 .................................................................................................................... 225
4.10 LIMIT 限定条件 ..................................................................................................... 226
4.10.1 LIMIT 子句 ................................................................................................ 226
4.10.2 ROW_LIMIT 子句 ...................................................................................... 227
4.11 全文检索 .................................................................................................................. 228
4.12 层次查询子句 .......................................................................................................... 231
4.12.1 层次查询子句 ............................................................................................. 231
4.12.2 层次查询相关伪列 ..................................................................................... 231
4.12.3 层次查询相关操作符 ................................................................................. 231
4.12.4 层次查询相关函数 ..................................................................................... 232
4.12.5 层次查询层内排序 ..................................................................................... 232
4.12.6 层次查询的限制 ......................................................................................... 232
4.13 并行查询 .................................................................................................................. 237
4.14 ROWNUM .................................................................................................................... 237
4.15 数组查询 .................................................................................................................. 238
4.16 查看执行计划与执行跟踪统计 .............................................................................. 239
4.16.1 EXPLAIN ..................................................................................................... 239
4.16.2 EXPLAIN FOR ............................................................................................ 240
4.17 SAMPLE 子句 .......................................................................................................... 240
第 5 章 数据的插入、删除和修改 ........................................................................ 242
5.1 数据插入语句 ............................................................................................................ 242
5.2 数据修改语句 ............................................................................................................ 247
5.3 数据删除语句 ............................................................................................................ 249
5.4 MERGE INTO 语句 ................................................................................................... 251
5.5 伪列的使用 ................................................................................................................ 254
5.5.1 ROWID ............................................................................................................ 254
5.5.2 UID 和 USER.................................................................................................. 254
5.5.3 TRXID ............................................................................................................ 254
5.5.4 SESSID .......................................................................................................... 254
5.6 DM 自增列的使用 ...................................................................................................... 254
5.6.1 DM 自增列定义 .............................................................................................. 254
5.6.2 SET IDENTITY_INSERT 属性 ................................................................ 255
第 6 章 视图 ............................................................................................................ 258
6.1 视 图 的 作 用 .............................................................................................................. 258
6.2 视图的定义 ................................................................................................................ 259
6.3 视图的删除 ................................................................................................................ 262
6.4 视图的查询 ................................................................................................................ 262
6.5 视图的编译 ................................................................................................................ 263
6.6 视图数据的更新 ........................................................................................................ 264
第 7 章 物化视图 .................................................................................................... 266
7.1 物 化 视 图 的 定 义 .................................................................................................... 266
IV
目录
7.2 物 化 视 图 的 修 改 .................................................................................................... 269
7.3 物 化 视 图 的 删 除 .................................................................................................... 270
7.4 物 化 视 图 的 更 新 .................................................................................................... 271
7.5 物 化 视 图 允 许 的 操 作 ........................................................................................... 271
7.6 物 化 视 图 日 志 的 定 义 ........................................................................................... 271
7.7 物 化 视 图 日 志 的 删 除 ........................................................................................... 272
7.8 物 化 视 图 的 限 制 .................................................................................................... 273
7.8.1 物化视图的一般限制 .................................................................................... 273
7.8.2 物化视图的分类 ............................................................................................ 273
7.8.3 快速刷新通用约束 ........................................................................................ 273
7.8.4 物化视图信息查看 ........................................................................................ 274
第 8 章 函数 ............................................................................................................ 275
8.1 数值函数 .................................................................................................................... 280
8.2 字符串函数 ................................................................................................................ 293
8.3 日期时间函数 ............................................................................................................ 315
8.4 空值判断函数 ............................................................................................................ 329
8.5 类型转换函数 ............................................................................................................ 331
8.6 杂类函数 .................................................................................................................... 334
第 9 章 一致性和并发性 ........................................................................................ 336
9.1 DM 事务相关语句 ...................................................................................................... 336
9.1.1 事务的开始 .................................................................................................... 336
9.1.2 事务的结束 .................................................................................................... 336
9.1.3 保存点相关语句 ............................................................................................ 337
9.1.4 设置事务隔离级及读写特性 ........................................................................ 338
9.2 DM 手动上锁语句 ...................................................................................................... 339
第 10 章 外部函数 .................................................................................................. 342
10.1 C 外部函数 .............................................................................................................. 342
10.1.1 生成动态库 ...................................................................................................... 342
10.1.2 C 外部函数创建 ............................................................................................... 344
10.1.3 举例说明 .......................................................................................................... 345
10.2 JAVA 外部函数 ....................................................................................................... 347
10.2.1 生成 jar 包 ....................................................................................................... 348
10.2.2 JAVA 外部函数创建 ......................................................................................... 348
10.2.3 举例说明 .......................................................................................................... 349
第 11 章 包 ............................................................................................................. 351
11.1 创建包 ...................................................................................................................... 351
11.1.1 创建包规范 ................................................................................................. 351
11.1.2 创建包主体 ................................................................................................. 352
11.2 重编译包 .................................................................................................................. 354
11.3 删除包 ...................................................................................................................... 354
V
目录
11.3.1 删除包规范 ................................................................................................. 354
11.3.2 删除包主体 ................................................................................................. 355
11.4 应用实例 .................................................................................................................. 355
第 12 章 类类型 ...................................................................................................... 359
12.1 普通 CLASS 类型 ..................................................................................................... 359
12.1.1 声明类 .............................................................................................................. 360
12.1.2 实现类 .............................................................................................................. 361
12.1.3 重编译类 .......................................................................................................... 363
12.1.4 删除类 .............................................................................................................. 364
12.1.5 类的使用 .......................................................................................................... 364
12.2 JAVA CLASS 类型 ................................................................................................. 366
12.2.1 定义 JAVA 类 ................................................................................................... 367
12.2.2 重编译 JAVA 类 .......................................................................................... 369
12.2.3 删除 JAVA 类 .............................................................................................. 369
12.2.4 类的使用 ..................................................................................................... 369
第 13 章自定义类型 ................................................................................................ 371
13.1 创建类型 .................................................................................................................. 371
13.2 创建类型体 ............................................................................................................... 372
13.3 重编译类型 ............................................................................................................... 373
13.4 删除类型 ................................................................................................................... 373
13.4.1 删除类型 ...................................................................................................... 374
13.4.2 删除类型体 .................................................................................................. 374
13.5 自定义类型的使用 ................................................................................................... 374
13.5.1 使用规则 ..................................................................................................... 374
13.5.2 应用实例 ..................................................................................................... 374
第 14 章 触发器 ...................................................................................................... 376
14.1 触发器的定义 .......................................................................................................... 376
14.1.1 表触发器 ........................................................................................................... 376
14.1.2 事件触发器 ....................................................................................................... 386
14.1.3 时间触发器 ....................................................................................................... 396
14.2 触发器替换 ................................................................................................................. 397
14.3 设计触发器的原则 ...................................................................................................... 397
14.4 触发器的删除 .......................................................................................................... 398
14.5 禁止和允许触发器 .................................................................................................. 398
14.6 触发器的重编 .......................................................................................................... 399
14.7 触发器应用举例 ...................................................................................................... 399
14.7.1 使用触发器实现审计功能 ......................................................................... 400
14.7.2 使用触发器维护数据完整性 ...................................................................... 400
14.7.3 使用触发器保障数据安全性 ...................................................................... 401
14.7.4 使用触发器生成字段默认值 ...................................................................... 402
第 15 章 同义词 ...................................................................................................... 404
VI
目录
15.1 创建同义词 .............................................................................................................. 404
15.2 删除同义词 .............................................................................................................. 405
第 16 章 外部链接 .................................................................................................. 406
16.1 创建外部链接 .......................................................................................................... 406
16.2 删除外部链接 .......................................................................................................... 409
16.3 使用外部链接 .......................................................................................................... 410
第 17 章 闪回查询 .................................................................................................. 411
17.1 闪回查询子句 .......................................................................................................... 411
17.2 闪回版本查询 .......................................................................................................... 413
17.3 闪回事务查询 .......................................................................................................... 415
第 18 章 JSON ......................................................................................................... 416
18.1 数据类型 ................................................................................................................... 416
18.1.1 string ...................................................................................................... 416
18.1.2 number ...................................................................................................... 417
18.1.3 true、false ........................................................................................... 417
18.1.4 null ........................................................................................................... 419
18.1.5 object ...................................................................................................... 420
18.1.6 array ........................................................................................................ 420
18.2 函数 .......................................................................................................................... 420
18.2.1 json_value ............................................................................................ 420
18.2.2 json_query ............................................................................................ 421
18.2.3 函数参数详解 ........................................................................................... 422
18.3 使用 IS JSON/IS NOT JSON 条件 ................................................................... 424
18.4 视图 ........................................................................................................................... 427
18.5 一个简单的例子 ....................................................................................................... 428
附录 1 关键字和保留字 ......................................................................................... 431
附录 2 SQL 语法描述说明 .................................................................................... 435
附录 3 系统存储过程和函数 ................................................................................. 438
1) INI 参数管理 .............................................................................................................. 438
2) 系统信息管理 ............................................................................................................... 443
3) 备份恢复管理 ............................................................................................................... 458
4) 定时器管理 ................................................................................................................... 487
5) 数据复制管理 ............................................................................................................... 491
6) 模式对象相关信息管理 ............................................................................................... 500
7) 数据守护管理 ............................................................................................................... 510
8) MPP 管理 ...................................................................................................................... 515
9) 日志与检查点管理 ....................................................................................................... 518
10) 数据库重演 ................................................................................................................ 519
VII
目录
11) 统计信息 .................................................................................................................... 520
12) 资源监测 .................................................................................................................... 526
13) 类型别名 .................................................................................................................... 533
14) 杂类函数 .................................................................................................................... 534
15) 编目函数调用的系统函数 ......................................................................................... 545
16) BFILE ......................................................................................................................... 554
17) HUGE 表备份还原 ...................................................................................................... 555
18) 定制会话级 INI 参数 ............................................................................................... 557
19) 为 SQL 指定 HINT ...................................................................................................... 558
附录 4 DM 技术支持 ............................................................................................... 561
VIII