达梦数据库sql新增语法
达梦数据库SQL语法
目录 目录.....................................................1 第1章结构化查询语言DM_SQL简介...........................12 1.1 DM_SQL语言的特点......................................... 12 1.2 保留字与标识符............................................ 13 1.3 DM_SQL语言的功能及语句.................................... 13 1.4 DM_SQL所支持的数据类型.................................... 14 1.4.1 常规数据类型........................................ 14 1.4.2 位串数据类型........................................ 16 1.4.3 日期时间数据类型..................................... 17 1.4.4 多媒体数据类型....................................... 21 1.5 DM_SQL语言支持的表达式.................................... 21 1.5.1 数值表达式.......................................... 21 1.5.2 字符串表达式........................................ 23 1.5.3 时间值表达式........................................ 23 1.5.4 时间间隔值表达式..................................... 25 1.5.5 运算符的优先级....................................... 26 1.6 DM_SQL语言支持的数据库模式................................ 27 第2章手册中的示例说明....................................28 2.1 示例库说明............................................... 28 2.2 参考脚本................................................. 36 2.2.1 创建示例库.......................................... 36 2.2.2 创建模式及表........................................ 36 2.2.3 插入数据............................................ 43 第3章数据定义语句 .......................................60 3.1 数据库修改语句............................................ 60 3.2 管理用户................................................. 63 3.2.1 用户定义语句........................................ 63 3.2.2 修改用户语句........................................ 68 3.2.3 用户删除语句........................................ 70 3.3 管理模式................................................. 71 3.3.1 模式定义语句........................................ 71 3.3.2 设置当前模式语句..................................... 73 3.3.3 模式删除语句........................................ 73 3.4 管理表空间............................................... 74 3.4.1 表空间定义语句....................................... 74 3.4.2 修改表空间语句....................................... 75 目录 2 3.4.3 表空间删除语句....................................... 77 3.4.4 表空间失效文件检查................................... 77 3.4.5 表空间失效文件恢复准备................................ 78 3.4.6 表空间失效文件恢复................................... 78 3.5 管理HTS表空间............................................ 78 3.5.1 创建HTS表空间...................................... 79 3.5.2 删除HTS表空间...................................... 79 3.6 管理表................................................... 80 3.6.1 基表定义语句........................................ 80 3.6.2 基表修改语句....................................... 110 3.6.3 基表删除语句...................................... 120 3.6.4 基表数据删除语句.................................... 121 3.7 管理索引................................................ 122 3.7.1 索引定义语句....................................... 122 3.7.2 索引修改语句....................................... 126 3.7.3 索引删除语句....................................... 128 3.8 管理位图连接索引......................................... 128 3.8.1 位图连接索引定义语句................................. 128 3.8.2 位图连接索引删除语句................................. 130 3.9 管理全文索引............................................. 130 3.9.1 全文索引定义语句.................................... 130 3.9.2 全文索引修改语句.................................... 132 3.9.3 全文索引删除语句.................................... 132 3.10 管理序列............................................... 133 3.10.1 序列定义语句...................................... 133 3.10.2 序列删除语句...................................... 136 3.11管理SQL域............................................. 136 3.11.1 创建DOMAIN....................................... 136 3.11.2 使用DOMAIN....................................... 137 3.11.3 删除DOMAIN....................................... 137 3.12管理上下文.............................................. 138 3.12.1创建上下文........................................ 138 3.12.2删除上下文........................................ 140 3.13 约束的启用与禁用........................................ 141 3.14 设置当前会话时区信息..................................... 141 3.15 注释语句............................................... 142 3.16设置会话级别的INI参数................................... 143 3.17设置系统级别的INI参数................................... 144 3.18设置列生成统计信息....................................... 144 第4章数据查询语句 ......................................146 4.1 单表查询................................................ 156 4.1.1 简单查询........................................... 156 4.1.2 带条件查询......................................... 158 目录 3 4.1.3 集函数............................................ 161 4.1.4 分析函数........................................... 165 4.1.5 情况表达式......................................... 180 4.2 连接查询................................................ 183 4.2.1 交叉连接........................................... 183 4.2.2 自然连接(NATURAL JOIN) ............................ 184 4.2.3 JOIN … USING ..................................... 185 4.2.4 JOIN…ON .......................................... 185 4.2.5 自连接............................................ 185 4.2.6 内连接(INNER JOIN) ................................ 186 4.2.7 外连接(OUTER JOIN) ................................ 187 4.2.8 哈希连接(HASH JOIN)................................ 191 4.3 子查询.................................................. 192 4.3.1 标量子查询......................................... 192 4.3.2 表子查询........................................... 193 4.3.3 派生表子查询....................................... 196 4.3.4 定量比较........................................... 196 4.3.5 带EXISTS谓词的子查询............................... 197 4.3.6 多列表子查询....................................... 198 4.4 公用表表达式............................................. 199 4.4.1 公用表表达式的作用.................................. 201 4.4.2 公用表表达式的使用.................................. 201 4.5合并查询结果............................................. 202 4.6 GROUP BY和HAVING子句.................................. 204 4.6.1 GROUP BY子句的使用................................ 204 4.6.2 ROLLUP的使用...................................... 205 4.6.3 CUBE的使用........................................ 206 4.6.4 GROUPING的使用.................................... 208 4.6.5 GROUPING SETS的使用............................... 209 4.6.6 GROUPING_ID的使用................................. 210 4.6.7 GROUP_ID的使用.................................... 211 4.6.8 HAVING子句的使用.................................. 212 4.7 ORDER BY子句........................................... 213 4.8 FOR UPDATE子句......................................... 214 4.9 TOP子句................................................ 215 4.10 LIMIT限定条件......................................... 216 4.10.1 LIMIT子句....................................... 216 4.10.2 ROW_LIMIT子句................................... 217 4.11 全文检索............................................... 218 4.11.1 全文检索的使用..................................... 218 4.11.2 全文检索中文词库的自定义............................ 220 4.12 层次查询............................................... 223 4.12.1 层次查询子句...................................... 223 4.12.2 层次查询相关伪列................................... 224 目录 4 4.12.3 层次查询相关操作符................................. 224 4.12.4 层次查询相关函数................................... 224 4.12.5 层次查询层内排序................................... 224 4.12.6 层次查询的限制..................................... 225 4.13并行查询................................................ 229 4.14 ROWNUM................................................ 230 4.15 数组查询............................................... 231 4.16 查看执行计划与执行跟踪统计................................ 231 4.16.1 EXPLAIN ......................................... 231 4.16.2 EXPLAIN FOR ..................................... 232 4.17 查看当前会话时区信息......................... 错误!未定义书签。 4.18 SAMPLE子句............................................ 233 4.19 WITH FUNCTION子句..................................... 199 第5章数据的插入、删除和修改..............................235 5.1 数据插入语句............................................. 235 5.2 数据修改语句............................................. 238 5.3 数据删除语句............................................. 240 5.4 MERGE INTO语句......................................... 241 5.5 伪列的使用.............................................. 244 5.5.1 ROWID ............................................ 244 5.5.2 UID和USER........................................ 244 5.5.3 TRXID ............................................ 244 5.6 DM自增列的使用.......................................... 245 5.6.1 DM自增列定义...................................... 245 5.6.2 SET IDENTITY_INSERT 属性.......................... 246 第6章视图.............................................249 6.1 视图的作用............................................. 249 6.2 视图的定义.............................................. 250 6.3 视图的删除.............................................. 253 6.4 视图的查询.............................................. 253 6.5 视图的编译.............................................. 254 6.6 视图数据的更新........................................... 255 第7章物化视图 .........................................257 7.1 物化视图的定义......................................... 257 7.2 物化视图的修改......................................... 260 7.3 物化视图的删除......................................... 261 7.4 物化视图的更新......................................... 262 7.5 物化视图允许的操作..................................... 262 7.6 物化视图日志的定义..................................... 262 7.7 物化视图日志的删除..................................... 263 7.8 物化视图的限制......................................... 264 目录 5 7.8.1 物化视图的一般限制.................................. 264 7.8.2 物化视图的分类...................................... 264 7.8.3 快速刷新通用约束.................................... 264 7.8.4 物化视图信息查看.................................... 265 第8章嵌入式SQL........................................266 8.1 SQL前缀和终结符......................................... 266 8.2 宿主变量................................................ 267 8.2.1 输入和输出变量...................................... 267 8.2.2 指示符变量......................................... 268 8.3 服务器登录与退出......................................... 268 8.3.1 登录服务器......................................... 268 8.3.2 退出服务器......................................... 269 8.4 游标的定义与操纵......................................... 269 8.4.1 定义游标语句....................................... 270 8.4.2 打开游标语句 ....................................... 271 8.4.3 拨动游标语句....................................... 272 8.4.4 关闭游标语句....................................... 273 8.4.5 关于可更新游标...................................... 274 8.4.6 游标定位删除语句.................................... 274 8.4.7 游标定位修改语句.................................... 275 8.5 单元组查询语句........................................... 276 8.6 动态SQL ................................................ 277 8.6.1 EXECUTE IMMEDIATE立即执行语句...................... 278 8.6.2 PREPARE准备语句................................... 278 8.6.3 EXCUTE执行语句.................................... 279 8.7 异常处理................................................ 280 第9章函数.............................................281 9.1 数值函数................................................ 286 9.2 字符串函数.............................................. 299 9.3 日期时间函数............................................. 320 9.4 空值判断函数............................................. 333 9.5 类型转换函数............................................. 335 9.6 杂类函数................................................ 337 第10章一致性和并发性 ...................................338 10.1 DM事务相关语句......................................... 339 10.1.1 事务的开始........................................ 339 10.1.2 事务的结束........................................ 339 10.1.3 保存点相关语句..................................... 340 10.1.4 设置事务隔离级及读写特性............................ 341 10.2 DM手动上锁语句......................................... 342 第11章存储模块 ........................................345 目录 6 11.1 PL/SQL数据类型和操作符.................................. 345 11.1.1 PL/SQL数据类型................................... 345 11.1.2 PL/SQL操作符..................................... 357 11.2 存储模块的定义.......................................... 358 11.3 存储模块的删除.......................................... 366 11.4 存储模块的重新编译....................................... 367 11.5 存储模块的控制语句....................................... 368 11.5.1 语句块........................................... 368 11.5.2 赋值语句.......................................... 370 11.5.3 条件语句.......................................... 371 11.5.4 循环语句.......................................... 372 11.5.5 EXIT语句........................................ 374 11.5.6 调用语句.......................................... 374 11.5.7 RETURN语句...................................... 377 11.5.8 NULL语句........................................ 377 11.5.9 GOTO语句........................................ 377 11.5.10 RAISE语句...................................... 378 11.5.11 打印语句......................................... 378 11.5.12 CASE语句....................................... 378 11.5.13 CONTINUE语句................................... 379 11.5.14 PIPE ROW语句................................... 380 11.6 存储模块的调用.......................................... 380 11.7 存储模块的异常处理....................................... 381 11.7.1 异常变量的说明..................................... 381 11.7.2 异常的抛出........................................ 382 11.7.3 异常处理器........................................ 382 11.7.4 内置函数SQLCODE和SQLERRM......................... 383 11.7.5异常处理用法举例................................... 383 11.8 存储模块的SQL语句...................................... 385 11.8.1 游标............................................. 385 11.8.2 引用游标.......................................... 389 11.8.3 动态SQL.......................................... 390 11.8.4 动态SQL的参数绑定................................. 391 11.8.5 返回查询结果集..................................... 391 11.8.6 自治事务.......................................... 392 11.9 客户端存储模块.......................................... 393 11.10 C语法的PL/SQL........................................ 394 11.10.1 概述............................................ 394 11.10.2 举例说明......................................... 394 11.11 外部函数.............................................. 395 11.11.1 概述............................................ 395 11.11.1 C外部函数....................................... 395 11.11.2 JAVA外部函数.................................... 399 第12章包 .............................................402 目录 7 12.1 创建包................................................. 402 12.1.1 创建包规范........................................ 402 12.1.2 创建包主体........................................ 403 12.2 删除包................................................. 405 12.2.1 删除包规范........................................ 405 12.2.2 删除包主体........................................ 405 12.3 应用实例............................................... 406 第13章类类型 ..........................................409 13.1 声明类................................................. 409 13.2 实现类................................................. 410 13.3 删除类................................................. 412 13.3.1 删除类头.......................................... 412 13.3.2 删除类体.......................................... 413 13.4 类的使用............................................... 413 13.4.1 具体使用规则...................................... 413 13.4.2 应用实例.......................................... 414 第14章自定义类型........................................416 14.1 创建类型............................................... 416 14.2创建类型体.............................................. 417 14.3删除类型................................................ 417 14.3.1删除类型.......................................... 418 14.3.2删除类型体........................................ 418 14.4自定义类型的使用......................................... 418 14.4.1 使用规则.......................................... 418 14.4.2 应用实例.......................................... 418 第15章触发器 ..........................................420 15.1 触发器的定义............................................ 420 15.1.1 触发器类型........................................ 432 15.1.2 触发器激发顺序..................................... 435 15.1.3 新、旧行值的引用................................... 436 15.1.4 触发器谓词........................................ 438 15.1.5 设计触发器的原则................................... 439 15.2 触发器的删除............................................ 439 15.3 禁止和允许触发器........................................ 440 15.4 触发器的重编............................................ 440 15.5 触发器应用举例.......................................... 441 15.5.1 使用触发器实现审计功能.............................. 441 15.5.2 使用触发器维护数据完整性............................ 441 15.5.3 使用触发器保障数据安全性............................ 443 15.5.4 使用触发器生成字段默认值............................ 444 第16章DM安全管理......................................445 目录 8 16.1 创建角色语句............................................ 446 16.2 删除角色语句............................................ 446 16.3 授权语句(数据库权限)..................................... 447 16.4 授权语句(对象权限) ...................................... 452 16.5 授权语句(角色权限) ...................................... 455 16.6 回收权限语句(数据库权限) ................................. 456 16.7 回收权限语句(对象权限) ................................... 458 16.8 回收权限语句(角色权限) ................................... 460 16.9 策略与标记管理.......................................... 461 16.9.1 策略............................................. 461 16.9.2 等级............................................. 462 16.9.3 范围............................................. 464 16.9.4 组............................................... 465 16.9.5 标记............................................. 468 16.9.6 表标记........................................... 471 16.9.7 用户标记.......................................... 472 16.9.8 会话标记.......................................... 476 16.9.9 扩展客体标记...................................... 478 16.10 审计设置语句........................................... 480 16.11 审计取消语句........................................... 484 16.12 创建审计实时侵害检测规则................................. 485 16.13 删除审计实时侵害检测规则................................. 485 16.14 加密引擎.............................................. 485 第17章DM备份还原......................................487 17.1 备份数据库............................................. 487 17.2 备份表空间............................................. 488 17.3 还原表空间............................................. 490 17.4 备份用户表............................................. 491 17.5 还原用户表............................................. 492 第18章同义词 ..........................................494 18.1 创建同义词............................................. 494 18.2 删除同义词............................................. 495 第19章外部链接 ........................................496 19.1 创建外部链接............................................ 496 19.2 删除外部链接............................................ 499 19.3 使用外部链接............................................ 499 第20章闪回查询 ........................................501 20.1 闪回查询............................................... 501 20.2 闪回版本查询............................................ 504 20.3 闪回事务查询............................................ 505 目录 9 第21章系统包 ..........................................506 21.1 DBMS_DBG包.......................................... 506 21.2 DBMS_GEO包.......................................... 506 21.2.1数据类型.......................................... 506 21.2.2相关方法.......................................... 509 21.3 DBMS_JOB包.......................................... 523 21.3.1相关方法.......................................... 523 21.3.2举例说明.......................................... 526 21.4 DBMS_ALERT包........................................ 526 21.4.1相关方法.......................................... 526 21.4.2举例说明.......................................... 528 21.5 DBMS_OUTPUT包....................................... 528 21.5.1相关方法.......................................... 529 21.5.2举例说明.......................................... 529 21.6 DBMS_LOGMNR包....................................... 530 21.6.1 相关方法.......................................... 530 21.6.2 举例说明.......................................... 532 21.7 DBMS_ADVANCED_REWRITE包.............................. 533 21.7.1相关方法.......................................... 533 21.7.2字典信息.......................................... 535 21.7.3使用说明.......................................... 535 21.7.4举例说明.......................................... 536 21.8 DBMS_BINARY包....................................... 537 21.8.1相关方法.......................................... 537 21.8.2错误处理.......................................... 539 21.8.3举例说明.......................................... 539 21.9 DBMS_PAGE包......................................... 540 21.9.1索引页............................................ 540 21.9.2INODE页.......................................... 545 21.9.3描述页............................................ 547 21.9.4控制页............................................ 549 21.10 DBMS_METADATA包..................................... 555 21.10.1相关方法......................................... 555 21.10.2错误处理......................................... 562 21.10.3举例说明......................................... 563 21.11 DBMS_SPACE包........................................ 565 21.11.1数据类型......................................... 565 21.11.2相关方法......................................... 566 21.11.3举例说明......................................... 571 21.12 DBMS_SQL包.......................................... 572 21.12.1 相关方法......................................... 572 21.12.2 举例说明......................................... 577 21.13 DBMS_TRANSACTION包.................................. 578 目录 10 21.13.1相关方法......................................... 578 21.13.2举例说明......................................... 579 21.14 DBMS_RANDOM包....................................... 579 21.14.1相关方法......................................... 579 21.14.2举例说明......................................... 580 21.15 DBMS_STATS包........................................ 580 21.15.1数据类型......................................... 581 21.15.2相关方法......................................... 581 21.15.3约束............................................. 588 21.15.4举例说明......................................... 588 21.16 UTL_FILE包.......................................... 589 21.16.1数据类型......................................... 590 21.16.2相关方法......................................... 590 21.16.3错误处理......................................... 596 21.16.4举例说明......................................... 596 21.17 UTL_INADDR包........................................ 597 21.17.1相关方法......................................... 597 21.17.2举例说明......................................... 598 21.18 UTL_TCP包........................................... 598 21.18.1相关方法......................................... 598 21.18.2举例说明......................................... 600 21.19 UTL_MAIL包.......................................... 600 21.19.1相关方法......................................... 600 21.19.2举例说明......................................... 602 21.20 UTL_RAW包........................................... 602 21.20.1相关方法......................................... 603 21.20.2举例说明......................................... 607 21.21 DBMS_OBFUSCATION_TOOLKIT包.......................... 610 21.21.1相关方法......................................... 610 21.21.2使用说明......................................... 617 21.21.3举例说明......................................... 617 21.22 DBMS_SESSION包...................................... 619 21.22.1 相关方法......................................... 620 21.22.2 举例说明......................................... 621 21.23 DBMS_LOB包.......................................... 623 21.23.1相关方法......................................... 623 21.23.2举例说明......................................... 631 21.24 DBMS_RLS包.......................................... 632 21.24.1 策略函数......................................... 632 21.24.2 策略组.......................................... 632 21.24.3 策略............................................ 633 21.24.4 上下文.......................................... 636 21.24.5 举例说明......................................... 637 21.25 DBMS_WORKLOAD_REPOSITORY包.......................... 641 目录 11 21.25.1相关方法......................................... 642 21.25.2举例说明......................................... 644 21.26 DBMS_LOCK包......................................... 645 21.26.1 封锁规则......................................... 645 21.26.2相关方法......................................... 646 21.26.3举例说明......................................... 648 21.27 DBMS_UTILITY包...................................... 649 21.27.1 相关方法......................................... 649 附录1 关键字和保留字.....................................651 1)关键字和保留字............................................ 651 2) SQL保留字与PL保留字..................................... 653 附录2 SQL语法描述说明...................................657 附录3 系统存储过程和函数.................................660 1)系统信息管理.............................................. 660 2)备份恢复管理.............................................. 675 3)定时器管理................................................ 702 4)作业调度管理.............................................. 706 5)数据复制管理.............................................. 717 6)模式对象相关信息管理....................................... 725 7)数据守护管理.............................................. 735 8)MPP管理................................................. 737 9)日志与检查点管理........................................... 738 10)事件跟踪与审计........................................... 739 11)数据库重演............................................... 747 12)统计信息................................................ 748 13)资源监测................................................ 753 14)类型别名................................................ 757 15)杂类函数................................................ 759 16)存储加密函数............................................. 768 17)编目函数调用的系统函数..................................... 776 附录4 DM技术支持.......................................785