目录
目录
第 1 章 结构化查询语言 DM_SQL 简介.................................................................. 11
1.1 DM_SQL 语言的特点 ...................................................................................................... 11
1.2 保留字与标识符 .............................................................................................................. 12
1.3 DM_SQL 语言的功能及语句 .......................................................................................... 12
1.4 DM_SQL 所支持的数据类型 .......................................................................................... 13
1.4.1 常规数据类型 ....................................................................................................... 13
1.4.2 位串数据类型 ....................................................................................................... 15
1.4.3 日期时间数据类型 ............................................................................................... 16
1.4.4 多媒体数据类型 ................................................................................................... 19
1.5 DM_SQL 语言支持的表达式 .......................................................................................... 20
1.5.1 数值表达式 ........................................................................................................... 20
1.5.2 字符串表达式 ....................................................................................................... 22
1.5.3 时间值表达式 ....................................................................................................... 22
1.5.4 时间间隔值表达式 ............................................................................................... 23
1.5.5 运算符的优先级 ................................................................................................... 25
1.6 DM_SQL 语言支持的数据库模式 .................................................................................. 25
第 2 章 手册中的实例说明........................................................................................ 26
2.1 实例库说明 ...................................................................................................................... 26
2.2 参考脚本 .......................................................................................................................... 34
2.2.1 创建实例库 ........................................................................................................... 34
2.2.2 创建模式及表 ....................................................................................................... 34
2.2.3 插入数据 ............................................................................................................... 41
第 3 章 数据定义语句................................................................................................ 58
3.1 数据库修改语句 .............................................................................................................. 58
3.2 管理用户 .......................................................................................................................... 61
3.2.1 用户定义语句 ....................................................................................................... 61
3.2.2 修改用户语句 ....................................................................................................... 66
3.2.3 用户删除语句 ....................................................................................................... 68
3.3 管理模式 .......................................................................................................................... 69
3.3.1 模式定义语句 ....................................................................................................... 69
3.3.2 设置当前模式语句 ............................................................................................... 71
3.3.3 模式删除语句 ....................................................................................................... 71
3.4 管理表空间 ...................................................................................................................... 72
3.4.1 表空间定义语句 ................................................................................................... 72
3.4.2 修改表空间语句 ................................................................................................... 73
3.4.3 表空间删除语句 ................................................................................................... 75
3.5 管理 HTS 表空间 ............................................................................................................ 75
3.5.1 创建 HTS 表空间 ................................................................................................. 75
3.5.2 删除 HTS 表空间 ................................................................................................. 76
3.6 管理表 .............................................................................................................................. 76
1
目录
3.6.1 基表定义语句 ....................................................................................................... 76
3.6.2 基表修改语句 ..................................................................................................... 102
3.6.3 基 表 删 除 语 句 .................................................................................................. 110
3.6.4 基表数据删除语句 ............................................................................................. 111
3.7 管理索引 ........................................................................................................................ 111
3.7.1 索引定义语句 ..................................................................................................... 111
3.7.2 索引删除语句 ..................................................................................................... 115
3.8 管理位图连接索引 ........................................................................................................ 115
3.8.1 位图连接索引定义语句 ..................................................................................... 115
3.8.2 位图连接索引删除语句 ..................................................................................... 117
3.8.3 位图连接索引的更新语句 ................................................................................. 117
3.8.4 位图连接索引回滚与并发 ................................................................................. 118
3.9 管理全文索引 ................................................................................................................ 118
3.9.1 全文索引定义语句 ............................................................................................. 118
3.9.2 全文索引修改语句 ............................................................................................. 119
3.9.3 全文索引删除语句 ............................................................................................. 120
3.10 管理序列 ...................................................................................................................... 121
3.10.1 序列定义语句 ................................................................................................... 121
3.10.2 序列删除语句 ................................................................................................... 123
3.11 管理 SQL 域 ................................................................................................................. 123
3.11.1 创建 DOMAIN ................................................................................................. 123
3.11.2 使用 DOMAIN ................................................................................................. 124
3.11.3 删除 DOMAIN ................................................................................................. 124
3.12 约束的启用与禁用 ...................................................................................................... 125
3.13 设置当前会话时区信息 .............................................................................................. 125
3.14 注释语句 ...................................................................................................................... 126
第 4 章 数据查询语句.............................................................................................. 128
4.1 单表查询 ........................................................................................................................ 134
4.1.1 简单查询 ............................................................................................................. 135
4.1.2 带条件查询 ......................................................................................................... 136
4.1.3 集函数 ................................................................................................................. 139
4.1.4 分析函数 ............................................................................................................. 142
4.1.5 情况表达式 ......................................................................................................... 146
4.2 连接查询 ........................................................................................................................ 149
4.2.1 交叉连接 ............................................................................................................. 150
4.2.2 自然连接(NATURAL JOIN) ........................................................................... 151
4.2.3 JOIN … USING ................................................................................................... 151
4.2.4 JOIN…ON ........................................................................................................... 152
4.2.5 自连接 ................................................................................................................. 152
4.2.6 内连接(INNER JOIN) ........................................................................................ 153
4.2.7 外连接(OUTER JOIN) ....................................................................................... 154
4.2.8 哈希连接(HASH JOIN) ...................................................................................... 158
4.3 子查询 ............................................................................................................................ 158
4.3.1 标量子查询 ......................................................................................................... 159
2
目录
4.3.2 表子查询 ............................................................................................................. 160
4.3.3 派生表子查询 ..................................................................................................... 162
4.3.4 定量比较 ............................................................................................................. 163
4.3.5 带 EXISTS 谓词的子查询 ................................................................................. 164
4.3.6 多列表子查询 ..................................................................................................... 165
4.4 公用表表达式 ................................................................................................................ 166
4.4.1 公用表表达式的作用 ......................................................................................... 166
4.4.2 公用表表达式的使用 ......................................................................................... 166
4.5 合并查询结果 ................................................................................................................. 167
4.6 GROUP BY 和 HAVING 子句 ....................................................................................... 169
4.6.1 GROUP BY 子句的使用 ..................................................................................... 169
4.6.2 ROLLUP 的使用 ................................................................................................. 171
4.6.3 CUBE 的使用 ...................................................................................................... 172
4.6.4 GROUPING 的使用 ............................................................................................ 173
4.6.5 GROUPING SETS 的使用 .................................................................................. 174
4.6.6 HAVING 子句的使用.......................................................................................... 175
4.7 ORDER BY 子句 ............................................................................................................ 176
4.8 TOP 子句 ........................................................................................................................ 177
4.9 LIMIT 子句..................................................................................................................... 177
4.10 全文检索 ...................................................................................................................... 178
4.10.1 全文检索的使用 ............................................................................................... 178
4.10.2 全文检索中文词库的自定义 ........................................................................... 181
4.11 层次查询 ...................................................................................................................... 184
4.11.1 层次查询子句 ................................................................................................... 184
4.11.2 层次查询相关伪列 ........................................................................................... 185
4.11.3 层次查询相关操作符 ....................................................................................... 185
4.11.4 层次查询相关函数 ........................................................................................... 185
4.11.5 层次查询层内排序 ........................................................................................... 185
4.11.6 层次查询的限制 ............................................................................................... 186
4.12 并行查询 ....................................................................................................................... 190
4.13 ROWNUM .................................................................................................................... 191
4.14 数组查询 ...................................................................................................................... 191
4.15 查看执行计划与执行跟踪统计 .................................................................................. 192
4.16 查看当前会话时区信息 .............................................................................................. 193
第 5 章 数据的插入、删除和修改.......................................................................... 194
5.1 数据插入语句 ................................................................................................................ 194
5.2 数据修改语句 ................................................................................................................ 197
5.3 数据删除语句 ................................................................................................................ 199
5.4 MERGE INTO 语句 ....................................................................................................... 200
5.5 伪列的使用 .................................................................................................................... 203
5.5.1 ROWID ................................................................................................................ 203
5.5.2 UID 和 USER ...................................................................................................... 203
5.5.3 TRXID ................................................................................................................. 203
5.6 DM 自增列的使用 ......................................................................................................... 203
3
目录
5.6.1 DM 自增列定义 .................................................................................................. 203
5.6.2 SET IDENTITY_INSERT 属性 ......................................................................... 204
第 6 章 视图.............................................................................................................. 207
6.1 视 图 的 作 用 ................................................................................................................. 207
6.2 视图的定义 .................................................................................................................... 208
6.3 视图的删除 .................................................................................................................... 210
6.4 视图的查询 .................................................................................................................... 211
6.5 视图的编译 .................................................................................................................... 212
6.6 视图数据的更新 ............................................................................................................ 213
第 7 章 物化视图...................................................................................................... 215
7.1 物 化 视 图 的 定 义 ....................................................................................................... 215
7.2 物 化 视 图 的 修 改 ....................................................................................................... 218
7.3 物 化 视 图 的 删 除 ....................................................................................................... 219
7.4 物 化 视 图 的 更 新 ....................................................................................................... 220
7.5 物 化 视 图 允 许 的 操 作 .............................................................................................. 220
7.6 物 化 视 图 日 志 的 定 义 .............................................................................................. 220
7.7 物 化 视 图 日 志 的 删 除 .............................................................................................. 221
7.8 物 化 视 图 的 限 制 ....................................................................................................... 222
7.8.1 物化视图的一般限制 ......................................................................................... 222
7.8.2 物化视图的分类 ................................................................................................. 222
7.8.3 快速刷新通用约束 ............................................................................................. 222
7.8.4 物化视图信息查看 ............................................................................................. 223
第 8 章 嵌入式 SQL ................................................................................................. 224
8.1 SQL 前缀和终结符 ........................................................................................................ 224
8.2 宿主变量 ........................................................................................................................ 225
8.2.1 输入和输出变量 ................................................................................................. 225
8.2.2 指示符变量 ......................................................................................................... 226
8.3 服务器登录与退出 ........................................................................................................ 226
8.3.1 登录服务器 ......................................................................................................... 226
8.3.2 退出服务器 ......................................................................................................... 227
8.4 游标的定义与操纵 ........................................................................................................ 227
8.4.1 定义游标语句 ..................................................................................................... 228
8.4.2 打开游标语句 ..................................................................................................... 229
8.4.3 拨动游标语句 ..................................................................................................... 230
8.4.4 关闭游标语句 ..................................................................................................... 231
8.4.5 关于可更新游标 ................................................................................................. 231
8.4.6 游标定位删除语句 ............................................................................................. 232
8.4.7 游标定位修改语句 ............................................................................................. 233
8.5 单元组查询语句 ............................................................................................................ 234
8.6 动态 SQL ....................................................................................................................... 235
8.6.1 EXECUTE IMMEDIATE 立即执行语句 ........................................................... 235
8.6.2 PREPARE 准备语句 ............................................................................................ 236
8.6.3 EXCUTE 执行语句 ............................................................................................. 237
8.7 异常处理 ........................................................................................................................ 237
4
目录
第 9 章 函数.............................................................................................................. 239
9.1 数值函数 ........................................................................................................................ 243
9.2 字符串函数 .................................................................................................................... 256
9.3 日期时间函数 ................................................................................................................ 274
9.4 空值判断函数 ................................................................................................................ 286
9.5 类型转换函数 ................................................................................................................ 288
9.6 杂类函数 ........................................................................................................................ 290
第 10 章 一致性和并发性........................................................................................ 291
10.1 DM 事务相关语句 ....................................................................................................... 291
10.1.1 事务的开始 ....................................................................................................... 291
10.1.2 事务的结束 ....................................................................................................... 291
10.1.3 保存点相关语句 ............................................................................................... 292
10.1.4 设置事务隔离级及读写特性 ........................................................................... 293
10.2 DM 手动上锁语句 ....................................................................................................... 294
第 11 章 存储模块 .................................................................................................... 297
11.1 PL/SQL 数据类型和操作符 ......................................................................................... 297
11.1.1 PL/SQL 数据类型 .............................................................................................. 297
11.1.2 PL/SQL 操作符.................................................................................................. 309
11.2 存储模块的定义 .......................................................................................................... 310
11.3 存储模块的删除 .......................................................................................................... 317
11.4 存储模块的重新编译 .................................................................................................. 318
11.5 存储模块的控制语句 .................................................................................................. 319
11.5.1 语句块 ............................................................................................................... 319
11.5.2 赋值语句 ........................................................................................................... 321
11.5.3 条件语句 ........................................................................................................... 322
11.5.4 循环语句 ........................................................................................................... 323
11.5.5 EXIT 语句 .......................................................................................................... 325
11.5.6 调用语句 ........................................................................................................... 325
11.5.7 RETURN 语句 ................................................................................................... 327
11.5.8 NULL 语句 ........................................................................................................ 328
11.5.9 GOTO 语句 ........................................................................................................ 328
11.5.10 RAISE 语句 ..................................................................................................... 329
11.5.11 打印语句 ......................................................................................................... 329
11.5.12 CASE 语句 ....................................................................................................... 329
11.5.13 CONTINUE 语句 ............................................................................................ 330
11.5.14 PIPE ROW 语句 .............................................................................................. 330
11.6 存储模块的调用 .......................................................................................................... 331
11.7 存储模块的异常处理 .................................................................................................. 331
11.7.1 异常变量的说明 ............................................................................................... 332
11.7.2 异常的抛出 ....................................................................................................... 332
11.7.3 异常处理器 ....................................................................................................... 332
11.7.4 内置函数 SQLCODE 和 SQLERRM ............................................................... 333
11.7.5 异常处理用法举例 ............................................................................................ 333
11.8 存储模块的 SQL 语句 ................................................................................................ 334
5
目录
11.8.1 游标 ................................................................................................................... 335
11.8.2 引用游标 ........................................................................................................... 338
11.8.3 动态 SQL .......................................................................................................... 339
11.8.4 动态 SQL 的参数绑定 ..................................................................................... 340
11.8.5 返回查询结果集 ............................................................................................... 341
11.8.6 自治事务 ........................................................................................................... 341
11.9 客户端存储模块 .......................................................................................................... 342
11.10 C 语法的 PL/SQL ....................................................................................................... 343
11.10.1 概述 ................................................................................................................. 343
11.10.2 举例说明 ......................................................................................................... 343
11.11 C 外部函数 ................................................................................................................. 344
11.11.1 概述 ................................................................................................................. 344
11.11.2 生成动态库 ..................................................................................................... 345
11.11.3 C 外部函数创建 .............................................................................................. 346
11.11.2 举例说明 ......................................................................................................... 347
第 12 章 包 ............................................................................................................... 349
12.1 创建包 .......................................................................................................................... 349
12.1.1 创建包规范 ....................................................................................................... 349
12.1.2 创建包主体 ....................................................................................................... 350
12.2 删除包 .......................................................................................................................... 352
12.2.1 删除包规范 ....................................................................................................... 352
12.2.2 删除包主体 ....................................................................................................... 352
12.3 应用实例 ...................................................................................................................... 353
第 13 章 类类型........................................................................................................ 356
13.1 声明类 .......................................................................................................................... 356
13.2 实现类 .......................................................................................................................... 357
13.3 删除类 .......................................................................................................................... 359
13.3.1 删除类头 ........................................................................................................... 359
13.3.2 删除类体 ........................................................................................................... 359
13.4 类的使用 ...................................................................................................................... 360
13.4.1 具体使用规则 ................................................................................................... 360
13.4.2 应用实例 ........................................................................................................... 361
第 14 章 触发器........................................................................................................ 362
14.1 触发器的定义 .............................................................................................................. 362
14.1.1 触发器类型 ....................................................................................................... 372
14.1.2 触发器激发顺序 ............................................................................................... 375
14.1.3 新、旧行值的引用 ........................................................................................... 376
14.1.4 触发器谓词 ....................................................................................................... 378
14.1.5 设计触发器的原则 ........................................................................................... 379
14.2 触发器的删除 .............................................................................................................. 379
14.3 禁止和允许触发器 ...................................................................................................... 380
14.4 触发器的重编 .............................................................................................................. 381
14.5 触发器应用举例 .......................................................................................................... 381
14.5.1 使用触发器实现审计功能 ............................................................................... 381
6
目录
14.5.2 使用触发器维护数据完整性 ........................................................................... 382
14.5.3 使用触发器保障数据安全性 ........................................................................... 383
14.5.4 使用触发器生成字段默认值 ........................................................................... 384
第 15 章 DM 安全管理 ............................................................................................ 385
15.1 创建角色语句 .............................................................................................................. 386
15.2 删除角色语句 .............................................................................................................. 386
15.3 授权语句(数据库权限) ............................................................................................... 387
15.4 授权语句(对象权限) ................................................................................................... 392
15.5 授权语句(角色权限) ................................................................................................... 394
15.6 回收权限语句(数据库权限) ....................................................................................... 395
15.7 回收权限语句(对象权限) ........................................................................................... 398
15.8 回收权限语句(角色权限) ........................................................................................... 400
15.9 策略与标记管理 .......................................................................................................... 401
15.9.1 策略 ................................................................................................................... 401
15.9.2 等级 ................................................................................................................... 402
15.9.3 范围 ................................................................................................................... 404
15.9.4 组 ....................................................................................................................... 405
15.9.5 标记 ................................................................................................................... 408
15.9.6 表标记 ............................................................................................................... 411
15.9.7 用户标记 ........................................................................................................... 412
15.9.8 会话标记 ........................................................................................................... 416
15.9.9 扩展客体标记 ................................................................................................... 417
15.10 审计设置语句 ............................................................................................................ 419
15.11 审计取消语句 ............................................................................................................ 423
15.12 创建审计实时侵害检测规则 .................................................................................... 424
15.13 删除审计实时侵害检测规则 .................................................................................... 424
15.14 加密引擎 .................................................................................................................... 425
第 16 章 DM 备份还原 ............................................................................................ 426
16.1 备份数据库 .................................................................................................................. 426
16.2 备份表空间 .................................................................................................................. 427
16.3 还原表空间 .................................................................................................................. 428
16.4 备份用户表 .................................................................................................................. 429
16.5 还原用户表 .................................................................................................................. 430
第 17 章 同义词........................................................................................................ 432
17.1 创建同义词 .................................................................................................................. 432
17.2 删除同义词 .................................................................................................................. 433
第 18 章 外部链接.................................................................................................... 434
18.1 创建外部链接 .............................................................................................................. 434
18.2 删除外部链接 .............................................................................................................. 435
18.3 使用外部链接 .............................................................................................................. 435
第 19 章 闪回查询.................................................................................................... 436
19.1 闪回查询 ...................................................................................................................... 436
19.2 闪回版本查询 .............................................................................................................. 439
19.3 闪回事务查询 .............................................................................................................. 440
7
目录
第 20 章 系统包........................................................................................................ 442
20.1 DBMS_DBG 包 ............................................................................................................ 442
20.2 DBMS_GEO 包 ............................................................................................................ 442
20.2.1 数据类型 ............................................................................................................ 442
20.2.2 相关方法 ............................................................................................................ 445
20.3 DBMS_JOB 包 ............................................................................................................. 459
20.3.1 相关方法 ............................................................................................................ 459
20.3.2 举例说明 ............................................................................................................ 461
20.4 DBMS_ALERT 包 ........................................................................................................ 462
20.4.1 相关方法 ............................................................................................................ 462
20.4.2 举例说明 ............................................................................................................ 463
20.5 DBMS_OUTPUT 包 ..................................................................................................... 464
20.5.1 相关方法 ............................................................................................................ 464
20.5.2 举例说明 ............................................................................................................ 465
20.6 DBMS_LOGMNR 包 ................................................................................................... 465
20.6.1 相关方法 ........................................................................................................... 465
20.6.2 举例说明 ........................................................................................................... 466
20.7 DBMS_ADVANCED_REWRITE 包 ........................................................................... 468
20.7.1 相关方法 ............................................................................................................ 469
20.7.2 字典信息 ............................................................................................................ 470
20.7.3 使用说明 ............................................................................................................ 471
20.7.4 举例说明 ............................................................................................................ 472
20.8 DBMS_BINARY 包 ..................................................................................................... 473
20.8.1 相关方法 ............................................................................................................ 473
20.8.2 错误处理 ............................................................................................................ 475
20.8.3 举例说明 ............................................................................................................ 475
20.9 DBMS_PAGE 包 .......................................................................................................... 476
20.9.1 索引页 ................................................................................................................ 476
20.9.2INODE 页 ........................................................................................................... 481
20.9.3 描述页 ................................................................................................................ 483
20.9.4 控制页 ................................................................................................................ 485
20.10 DBMS_METADATA 包 ............................................................................................. 490
20.10.1 相关方法 .......................................................................................................... 491
20.10.2 错误处理 .......................................................................................................... 497
20.10.3 举例说明 .......................................................................................................... 497
20.11 DBMS_SPACE 包 ...................................................................................................... 500
20.11.1 数据类型 .......................................................................................................... 500
20.11.2 相关方法 .......................................................................................................... 501
20.11.3 举例说明 .......................................................................................................... 505
20.12 DBMS_SQL 包 ........................................................................................................... 506
20.12.1 相关方法 ......................................................................................................... 506
20.12.2 举例说明 ......................................................................................................... 509
20.13 DBMS_TRANSACTION 包 ...................................................................................... 510
20.13.1 相关方法 .......................................................................................................... 511
8