版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、达梦数据库SQL MANUALSQ L语言使用手册I目录 PAGE * ROMAN VIII目录 HYPERLINK l _bookmark0 第 1 章 结构化查询语言 DM_SQL 简介1 HYPERLINK l _bookmark1 DM_SQL 语言的特点1 HYPERLINK l _bookmark2 保留字与标识符2 HYPERLINK l _bookmark3 DM_SQL 语言的功能及语句2 HYPERLINK l _bookmark4 DM_SQL 所支持的数据类型3 HYPERLINK l _bookmark5 常规数据类型3 HYPERLINK l _bookmark6
2、位串数据类型5 HYPERLINK l _bookmark7 日期时间数据类型6 HYPERLINK l _bookmark8 多媒体数据类型10 HYPERLINK l _bookmark9 DM_SQL 语言支持的表达式10 HYPERLINK l _bookmark10 数值表达式11 HYPERLINK l _bookmark11 字符串表达式13 HYPERLINK l _bookmark12 时间值表达式13 HYPERLINK l _bookmark13 时间间隔值表达式15 HYPERLINK l _bookmark14 运算符的优先级16 HYPERLINK l _bookm
3、ark15 DM_SQL 语言支持的数据库模式17 HYPERLINK l _bookmark16 第 2 章 手册中的示例说明18 HYPERLINK l _bookmark17 示例库说明18 HYPERLINK l _bookmark18 参考脚本26 HYPERLINK l _bookmark19 创建示例库26 HYPERLINK l _bookmark20 创建模式及表26 HYPERLINK l _bookmark21 插入数据33 HYPERLINK l _bookmark22 第 3 章 数据定义语句50 HYPERLINK l _bookmark23 数据库修改语句50 H
4、YPERLINK l _bookmark24 管理用户53 HYPERLINK l _bookmark25 用户定义语句53 HYPERLINK l _bookmark26 修改用户语句59 HYPERLINK l _bookmark27 用户删除语句62 HYPERLINK l _bookmark28 管理模式63 HYPERLINK l _bookmark29 模式定义语句63 HYPERLINK l _bookmark30 设置当前模式语句65 HYPERLINK l _bookmark31 模式删除语句65 HYPERLINK l _bookmark32 管理表空间66 HYPERLI
5、NK l _bookmark33 表空间定义语句66 HYPERLINK l _bookmark34 修改表空间语句67 HYPERLINK l _bookmark35 表空间删除语句69 HYPERLINK l _bookmark36 表空间失效文件检查70 HYPERLINK l _bookmark37 表空间失效文件恢复准备70 HYPERLINK l _bookmark38 表空间失效文件恢复70 HYPERLINK l _bookmark39 管理 HTS 表空间71 HYPERLINK l _bookmark40 创建 HTS 表空间71 HYPERLINK l _bookmark
6、41 修改 HTS 表空间71 HYPERLINK l _bookmark42 删除 HTS 表空间72 HYPERLINK l _bookmark43 管理表72 HYPERLINK l _bookmark44 表定义语句72 HYPERLINK l _bookmark47 表修改语句115 HYPERLINK l _bookmark50 基表删除语句134 HYPERLINK l _bookmark51 基表数据删除语句135 HYPERLINK l _bookmark52 事务型 HUGE 表数据重整135 HYPERLINK l _bookmark53 管理索引136 HYPERLIN
7、K l _bookmark54 索引定义语句136 HYPERLINK l _bookmark55 索引修改语句141 HYPERLINK l _bookmark56 索引删除语句143 HYPERLINK l _bookmark57 管理位图连接索引143 HYPERLINK l _bookmark58 位图连接索引定义语句143 HYPERLINK l _bookmark59 位图连接索引删除语句145 HYPERLINK l _bookmark60 管理全文索引145 HYPERLINK l _bookmark61 全文索引定义语句145 HYPERLINK l _bookmark62
8、全文索引修改语句147 HYPERLINK l _bookmark63 全文索引删除语句148 HYPERLINK l _bookmark64 管理空间索引148 HYPERLINK l _bookmark65 管理数组索引149 HYPERLINK l _bookmark66 数组索引定义语句149 HYPERLINK l _bookmark67 数组索引修改语句150 HYPERLINK l _bookmark68 数组索引使用150 HYPERLINK l _bookmark69 数组索引删除语句151 HYPERLINK l _bookmark70 管理序列152 HYPERLINK
9、l _bookmark71 序列定义语句152 HYPERLINK l _bookmark72 序列修改语句154 HYPERLINK l _bookmark73 序列删除语句156 HYPERLINK l _bookmark74 管理 SQL 域157 HYPERLINK l _bookmark75 创建 DOMAIN157 HYPERLINK l _bookmark76 使用 DOMAIN158 HYPERLINK l _bookmark77 删除 DOMAIN158 HYPERLINK l _bookmark78 管理上下文158 HYPERLINK l _bookmark79 创建上下
10、文159 HYPERLINK l _bookmark80 删除上下文160 HYPERLINK l _bookmark81 管理目录161 HYPERLINK l _bookmark82 创建目录161 HYPERLINK l _bookmark83 删除目录162 HYPERLINK l _bookmark84 设置当前会话162 HYPERLINK l _bookmark85 时区信息162 HYPERLINK l _bookmark86 日期串语言163 HYPERLINK l _bookmark87 日期串格式163 HYPERLINK l _bookmark88 注释语句164 HY
11、PERLINK l _bookmark89 设置 INI 参数165 HYPERLINK l _bookmark90 设置参数值165 HYPERLINK l _bookmark91 设置仅对当前会话起作用166 HYPERLINK l _bookmark92 修改系统语句166 HYPERLINK l _bookmark93 设置列、索引生成统计信息167 HYPERLINK l _bookmark94 第 4 章 数据查询语句169 HYPERLINK l _bookmark95 单表查询180 HYPERLINK l _bookmark96 简单查询180 HYPERLINK l _bo
12、okmark97 带条件查询181 HYPERLINK l _bookmark98 4.1.3 集函数184 HYPERLINK l _bookmark99 分析函数189 HYPERLINK l _bookmark100 情况表达式206 HYPERLINK l _bookmark101 连接查询210 HYPERLINK l _bookmark102 交叉连接210 HYPERLINK l _bookmark103 自然连接(NATURALJOIN)211 HYPERLINK l _bookmark104 JOIN USING211 HYPERLINK l _bookmark105 JOI
13、NON212 HYPERLINK l _bookmark106 4.2.5 自连接212 HYPERLINK l _bookmark107 内连接(INNER JOIN)213 HYPERLINK l _bookmark108 外连接(OUTER JOIN)214 HYPERLINK l _bookmark109 4.3 子查询218 HYPERLINK l _bookmark110 标量子查询218 HYPERLINK l _bookmark111 表子查询219 HYPERLINK l _bookmark112 派生表子查询222 HYPERLINK l _bookmark113 定量比较
14、223 HYPERLINK l _bookmark114 带 EXISTS 谓词的子查询224 HYPERLINK l _bookmark115 多列表子查询225 HYPERLINK l _bookmark116 WITH 子句226 HYPERLINK l _bookmark117 WITH FUNCTION 子句226 HYPERLINK l _bookmark118 公用表表达式子句227 HYPERLINK l _bookmark119 合并查询结果229 HYPERLINK l _bookmark120 GROUP BY 和 HAVING 子句231 HYPERLINK l _bo
15、okmark121 GROUP BY 子句的使用231 HYPERLINK l _bookmark122 ROLLUP 的使用232 HYPERLINK l _bookmark123 CUBE 的使用234 HYPERLINK l _bookmark124 GROUPING 的使用235 HYPERLINK l _bookmark125 GROUPING SETS 的使用236 HYPERLINK l _bookmark126 GROUPING_ID 的使用238 HYPERLINK l _bookmark127 GROUP_ID 的使用239 HYPERLINK l _bookmark128
16、 HAVING 子句的使用240 HYPERLINK l _bookmark129 ORDER BY 子句240 HYPERLINK l _bookmark130 FOR UPDATE 子句241 HYPERLINK l _bookmark131 TOP 子句243 HYPERLINK l _bookmark132 LIMIT 限定条件244 HYPERLINK l _bookmark133 LIMIT 子句244 HYPERLINK l _bookmark134 ROW_LIMIT 子句245 HYPERLINK l _bookmark135 全文检索246 HYPERLINK l _boo
17、kmark136 层次查询子句248 HYPERLINK l _bookmark137 层次查询子句249 HYPERLINK l _bookmark138 层次查询相关伪列249 HYPERLINK l _bookmark139 层次查询相关操作符249 HYPERLINK l _bookmark140 层次查询相关函数250 HYPERLINK l _bookmark141 层次查询层内排序250 HYPERLINK l _bookmark142 层次查询的限制250 HYPERLINK l _bookmark143 并行查询255 HYPERLINK l _bookmark144 ROW
18、NUM256 HYPERLINK l _bookmark145 数组查询256 HYPERLINK l _bookmark146 查看执行计划与执行跟踪统计257 HYPERLINK l _bookmark147 EXPLAIN257 HYPERLINK l _bookmark148 EXPLAIN FOR258 HYPERLINK l _bookmark149 SAMPLE 子句259 HYPERLINK l _bookmark150 水平分区表查询260 HYPERLINK l _bookmark151 第 5 章 数据的插入、删除和修改263 HYPERLINK l _bookmark1
19、52 数据插入语句263 HYPERLINK l _bookmark153 数据修改语句268 HYPERLINK l _bookmark154 数据删除语句271 HYPERLINK l _bookmark155 MERGE INTO 语句272 HYPERLINK l _bookmark156 伪列的使用275 HYPERLINK l _bookmark157 ROWID275 HYPERLINK l _bookmark158 UID 和 USER276 HYPERLINK l _bookmark159 TRXID276 HYPERLINK l _bookmark160 SESSID276
20、 HYPERLINK l _bookmark161 DM 自增列的使用276 HYPERLINK l _bookmark162 DM 自增列定义276 HYPERLINK l _bookmark163 SET IDENTITY_INSERT 属性277 HYPERLINK l _bookmark164 第 6 章 视图280 HYPERLINK l _bookmark165 视图的作用280 HYPERLINK l _bookmark166 视图的定义281 HYPERLINK l _bookmark167 视图的删除284 HYPERLINK l _bookmark168 视图的查询285
21、HYPERLINK l _bookmark169 视图的编译286 HYPERLINK l _bookmark170 视图数据的更新286 HYPERLINK l _bookmark171 第 7 章 物化视图288 HYPERLINK l _bookmark172 物化视图的定义288 HYPERLINK l _bookmark173 物化视图的修改291 HYPERLINK l _bookmark174 物化视图的删除292 HYPERLINK l _bookmark175 物化视图的更新293 HYPERLINK l _bookmark176 物化视图允许的操作293 HYPERLINK
22、 l _bookmark177 物化视图日志的定义293 HYPERLINK l _bookmark178 物化视图日志的删除295 HYPERLINK l _bookmark179 物化视图的限制295 HYPERLINK l _bookmark180 物化视图的一般限制295 HYPERLINK l _bookmark181 物化视图的分类295 HYPERLINK l _bookmark182 快速刷新通用约束296 HYPERLINK l _bookmark183 物化视图信息查看296 HYPERLINK l _bookmark184 第 8 章 函数298 HYPERLINK l
23、_bookmark185 数值函数303 HYPERLINK l _bookmark186 字符串函数316 HYPERLINK l _bookmark187 日期时间函数337 HYPERLINK l _bookmark188 空值判断函数356 HYPERLINK l _bookmark189 类型转换函数357 HYPERLINK l _bookmark190 杂类函数360 HYPERLINK l _bookmark191 第 9 章 一致性和并发性363 HYPERLINK l _bookmark192 DM 事务相关语句363 HYPERLINK l _bookmark193 事务
24、的开始363 HYPERLINK l _bookmark194 事务的结束363 HYPERLINK l _bookmark195 保存点相关语句364 HYPERLINK l _bookmark196 设置事务隔离级及读写特性365 HYPERLINK l _bookmark197 DM 手动上锁语句366 HYPERLINK l _bookmark198 第 10 章 外部函数369 HYPERLINK l _bookmark199 C 外部函数369 HYPERLINK l _bookmark200 生成动态库369 HYPERLINK l _bookmark201 C 外部函数创建37
25、1 HYPERLINK l _bookmark202 举例说明372 HYPERLINK l _bookmark203 JAVA 外部函数374 HYPERLINK l _bookmark204 生成 jar 包375 HYPERLINK l _bookmark205 JAVA 外部函数创建375 HYPERLINK l _bookmark206 举例说明376 HYPERLINK l _bookmark207 AP 使用说明377 HYPERLINK l _bookmark208 第 11 章 包378 HYPERLINK l _bookmark209 11.1 创建包378 HYPERLI
26、NK l _bookmark210 创建包规范378 HYPERLINK l _bookmark211 创建包主体379 HYPERLINK l _bookmark212 11.2 重编译包381 HYPERLINK l _bookmark213 11.3 删除包381 HYPERLINK l _bookmark214 删除包规范381 HYPERLINK l _bookmark215 删除包主体382 HYPERLINK l _bookmark216 11.4 应用实例382 HYPERLINK l _bookmark217 第 12 章 类类型386 HYPERLINK l _bookma
27、rk218 普通 CLASS 类型386 HYPERLINK l _bookmark219 12.1.1 声明类387 HYPERLINK l _bookmark220 12.1.2 实现类388 HYPERLINK l _bookmark221 12.1.3 重编译类390 HYPERLINK l _bookmark222 12.1.4 删除类391 HYPERLINK l _bookmark223 12.1.5 类的使用391 HYPERLINK l _bookmark224 JAVA CLASS 类型393 HYPERLINK l _bookmark225 定义 JAVA 类394 HY
28、PERLINK l _bookmark226 重编译 JAVA 类396 HYPERLINK l _bookmark227 删除 JAVA 类396 HYPERLINK l _bookmark228 类的使用396 HYPERLINK l _bookmark229 第 13 章自定义类型398 HYPERLINK l _bookmark230 创建类型398 HYPERLINK l _bookmark231 创建类型体399 HYPERLINK l _bookmark232 重编译类型400 HYPERLINK l _bookmark233 删除类型400 HYPERLINK l _bookm
29、ark234 删除类型401 HYPERLINK l _bookmark235 删除类型体401 HYPERLINK l _bookmark236 自定义类型的使用401 HYPERLINK l _bookmark237 使用规则401 HYPERLINK l _bookmark238 应用实例401 HYPERLINK l _bookmark239 第 14 章 触发器403 HYPERLINK l _bookmark240 触发器的定义403 HYPERLINK l _bookmark241 表触发器403 HYPERLINK l _bookmark242 事件触发器413 HYPERLI
30、NK l _bookmark243 时间触发器423 HYPERLINK l _bookmark244 触发器替换424 HYPERLINK l _bookmark245 设计触发器的原则424 HYPERLINK l _bookmark246 触发器的删除425 HYPERLINK l _bookmark247 禁止和允许触发器425 HYPERLINK l _bookmark248 触发器的重编426 HYPERLINK l _bookmark249 触发器应用举例426 HYPERLINK l _bookmark250 使用触发器实现审计功能427 HYPERLINK l _bookma
31、rk251 使用触发器维护数据完整性427 HYPERLINK l _bookmark252 使用触发器保障数据安全性428 HYPERLINK l _bookmark253 使用触发器生成字段默认值429 HYPERLINK l _bookmark254 第 15 章 同义词431 HYPERLINK l _bookmark255 创建同义词431 HYPERLINK l _bookmark256 删除同义词432 HYPERLINK l _bookmark257 第 16 章 外部链接434 HYPERLINK l _bookmark258 创建外部链接434 HYPERLINK l _b
32、ookmark259 删除外部链接438 HYPERLINK l _bookmark260 使用外部链接439 HYPERLINK l _bookmark261 第 17 章 闪回查询440 HYPERLINK l _bookmark262 闪回查询子句440 HYPERLINK l _bookmark263 闪回版本查询442 HYPERLINK l _bookmark264 闪回事务查询444 HYPERLINK l _bookmark265 第 18 章 JSON445 HYPERLINK l _bookmark266 数据类型445 HYPERLINK l _bookmark267 s
33、tring445 HYPERLINK l _bookmark268 number446 HYPERLINK l _bookmark269 true、false446 HYPERLINK l _bookmark270 18.1.4 null448 HYPERLINK l _bookmark271 object449 HYPERLINK l _bookmark272 array449 HYPERLINK l _bookmark273 18.2 函数449 HYPERLINK l _bookmark274 json_value449 HYPERLINK l _bookmark275 json_que
34、ry450 HYPERLINK l _bookmark276 函数参数详解451 HYPERLINK l _bookmark277 18.3 使用 IS JSON/IS NOT JSON 条件453 HYPERLINK l _bookmark278 18.4 视图456 HYPERLINK l _bookmark279 视图使用说明456 HYPERLINK l _bookmark280 DBA_JSON_COLUMNS456 HYPERLINK l _bookmark281 USER_JSON_COLUMNS457 HYPERLINK l _bookmark282 ALL_JSON_COLU
35、MNS457 HYPERLINK l _bookmark283 18.5 一个简单的例子457 HYPERLINK l _bookmark284 第 19 章 高级日志460 HYPERLINK l _bookmark285 19.1 简介460 HYPERLINK l _bookmark286 19.2 使用须知460 HYPERLINK l _bookmark287 19.3 语法460 HYPERLINK l _bookmark288 管理日志辅助表460 HYPERLINK l _bookmark289 使用日志辅助表的规则与约束461 HYPERLINK l _bookmark290
36、 日志辅助表结构461 HYPERLINK l _bookmark291 系统过程462 HYPERLINK l _bookmark292 使用高级日志同步数据的原则462 HYPERLINK l _bookmark293 应用实例464 HYPERLINK l _bookmark294 创建不带主键的源表464 HYPERLINK l _bookmark295 创建带主键的源表467 HYPERLINK l _bookmark296 附录 1 关键字和保留字470 HYPERLINK l _bookmark297 附录 2 SQL 语法描述说明474 HYPERLINK l _bookmar
37、k298 附录 3 系统存储过程和函数477 HYPERLINK l _bookmark299 INI 参数管理477 HYPERLINK l _bookmark300 系统信息管理482 HYPERLINK l _bookmark301 备份恢复管理496 HYPERLINK l _bookmark302 定时器管理526 HYPERLINK l _bookmark303 数据复制管理529 HYPERLINK l _bookmark304 模式对象相关信息管理538 HYPERLINK l _bookmark305 数据守护管理548 HYPERLINK l _bookmark306 MP
38、P 管理553 HYPERLINK l _bookmark307 日志与检查点管理556 HYPERLINK l _bookmark308 数据库重演557 HYPERLINK l _bookmark309 统计信息558 HYPERLINK l _bookmark310 资源监测565 HYPERLINK l _bookmark311 类型别名575 HYPERLINK l _bookmark312 杂类函数577 HYPERLINK l _bookmark313 编目函数调用的系统函数588 HYPERLINK l _bookmark314 BFILE598 HYPERLINK l _bo
39、okmark315 HUGE 表备份还原598 HYPERLINK l _bookmark316 定制会话级 INI 参数600 HYPERLINK l _bookmark317 为 SQL 指定 HINT602 HYPERLINK l _bookmark318 时区设置604附录 4 DM 技术支持609第 1 章 结构化查询语言 DM_SQL 简介 PAGE 4第 1 章 结构化查询语言 DM_SQL 简介结构化查询语言 SQL(Structured Query Language)是在 1974 年提出的一种关系数据库语言。由于 SQL 语言接近英语的语句结构,方便简洁、使用灵活、功能强大
40、,倍受用户及计算机工业界的欢迎,被众多计算机公司和数据库厂商所采用,经各公司的不断修改、扩充和完善,SQL 语言最终发展成为关系数据库的标准语言。SQL 的第一个标准是 1986 年 10 月由美国国家标准化组织(ANSI)公布的 ANSI X3.135-1986 数据库语言 SQL,简称 SQL-86,1987 年国际标准化组织(ISO)也通过了这一标准。以后通过对 SQL-86 的不断修改和完善,于 1989 年第二次公布了 SQL 标准ISO/IEC 9075-1989(E),即 SQL-89。1992 年又公布了SQL 标准ISO/IEC 9075:1992,即 SQL-92。1999
41、 年公布了 ISO/IEC 9075:1999,即 SQL-3(也称 SQL-99)。之后在2003 年公布了 ISO/IEC 9075:2003,即 SQL:2003;在 2008 年公布了 ISO/IEC9075:2008,即 SQL:2008;在 2011 年公布了 ISO/IEC 9075:2011,即 SQL:2011。由于 SQL 标准的内容越来越庞杂,绝大多数情况下,说起 SQL 符合程度,其实是指 SQL-92 中最核心的部分,从 SQL-99 后不再对标准符合程度进行分级,而是改成了核心兼容性和特性兼容性。SQL 成为国际标准以后,其影响远远超出了数据库领域。例如在 CAD、
42、软件工程、人工智能、分布式等领域,人们不仅把 SQL 作为检索数据的语言规范,而且也把 SQL 作为检索图形、图象、声音、文字等信息类型的语言规范。目前,世界上大型的著名数据库管理系统均支持 SQL 语言,如 Oracle、Sybase、SQL Server、DB2 等。在未来相当长的时间里,SQL 仍将是数据库领域以至信息领域中数据处理的主流语言之一。由于不同的 DBMS 产品,大都按自己产品的特点对 SQL 语言进行了扩充,很难完全符合 SQL 标准。目前在 DBMS 市场上已将 SQL 的符合率作为衡量产品质量的重要指标,并研制成专门的测试软件,如 NIST。目前,DM 数据库管理系统
43、SQL-92 入门级符合率达到 100%,过渡级符合率达到 95%,并且部分支持 SQL-99、SQL:2003、SQL:2008 和 SQL:2011 的特性。同时 DM 还兼容 Oracle 11g 和 SQL Server 2008 的部分语言特性。本章主要介绍 DM 系统所支持的 SQL 语言DM_SQL 语言。DM_SQL 语言的特点DM_SQL 语言符合结构化查询语言 SQL 标准,是标准 SQL 的扩充。它集数据定义、数据查询、数据操纵和数据控制于一体,是一种统一的、综合的关系数据库语言。它功能强大, 使用简单方便、容易为用户掌握。DM_SQL 语言具有如下特点:功能一体化DM_
44、SQL 的功能一体化表现在以下两个方面:DM_SQL 支持多媒体数据类型,用户在建表时可直接使用。DM 系统在处理常规数据与多媒体数据时达到了四个一体化:一体化定义、一体化存储、一体化检索、一体化处理,最大限度地提高了数据库管理系统处理多媒体的能力和速度;DM_SQL 语言集数据库的定义、查询、更新、控制、维护、恢复、安全等一系列操作于一体,每一项操作都只需一种操作符表示,格式规范,风格一致,简单方便, 很容易为用户所掌握。两种用户接口使用统一语法结构的语言DM_SQL 语言既是自含式语言,又是嵌入式语言。作为自含式语言,它能独立运行于联机交互方式。作为嵌入式语言,DM_SQL 语句能够嵌入到
45、 C 和 C+语言程序中,将高级语言(也称主语言)灵活的表达能力、强大的计算功能与 DM_SQL 语言的数据处理功能相结合, 完成各种复杂的事务处理。而在这两种不同的使用方式中,DM_SQL 语言的语法结构是一致的,从而为用户使用提供了极大的方便性和灵活性。高度非过程化DM_SQL 语言是一种非过程化语言。用户只需指出“做什么”,而不需指出“怎么做”,对数据存取路径的选择以及 DM_SQL 语句功能的实现均由系统自动完成,与用户编制的应用程序与具体的机器及关系 DBMS 的实现细节无关,从而方便了用户,提高了应用程序的开发效率,也增强了数据独立性和应用系统的可移植性。面向集合的操作方式DM_S
46、QL 语言采用了集合操作方式。不仅查询结果可以是元组的集合,而且一次插入、删除、修改操作的对象也可以是元组的集合,相对于面向记录的数据库语言(一次只能操作一条记录)来说,DM_SQL 语言的使用简化了用户的处理,提高了应用程序的运行效率。语言简洁,方便易学DM_SQL 语言功能强大,格式规范,表达简洁,接近英语的语法结构,容易为用户所掌握。保留字与标识符标识符的语法规则兼容标准 GJB 1382A-9X,标识符分为正规标识符和定界标识符两大类。正规标识符以字母、_、$、#或汉字开头,后面可以跟随字母、数字、_、$、#或者汉字,正规标识符的最大长度是 128 个英文字符或 64 个汉字。正规标识
47、符不能是保留字。正规标识符的例子:A,test1,_TABLE_B,表 1。定界标识符的标识符体用双引号括起来时,标识符体可以包含任意字符,特别地,其中使用连续两个双引号转义为一个双引号。定界标识符的例子:table,A,!#$。保留字的清单参见附录 1。DM_SQL 语言的功能及语句DM_SQL 语言是一种介于关系代数与关系演算之间的语言,其功能主要包括数据定义、查询、操纵和控制四个方面,通过各种不同的 SQL 语句来实现。按照所实现的功能,DM_SQL语句分为以下几种:用户、模式、基表、视图、索引、序列、全文索引、存储过程、触发器等数据库对象的定义和删除语句,数据库、用户、基表、视图、索引
48、、全文索引等数据库对象的修改语句;查询(含全文检索)、插入、删除、修改语句;数据库安全语句。包括创建角色语句、删除角色语句,授权语句、回收权限语句,修改登录口令语句,审计设置语句、取消审计设置语句等。在嵌入方式中,为了协调 DM_SQL 语言与主语言不同的数据处理方式,DM_SQL 语言引入了游标的概念。因此在嵌入方式下,除了数据查询语句(一次查询一条记录)外,还有几种与游标有关的语句:游标的定义、打开、关闭、拨动语句;游标定位方式的数据修改与删除语句。为了有效维护数据库的完整性和一致性,支持 DBMS 的并发控制机制,DM_SQL 语言提供了事务的回滚(ROLLBACK)与提交(COMMIT
49、)语句。同时 DM 允许选择实施事务级读一致性,它保证同一事务内的可重复读,为此 DM 提供用户多种手动上锁语句,和设置事务隔离级别语句。DM_SQL 所支持的数据类型数据类型是可表示值的集。值的逻辑表示是。值的物理表示依赖于实现。DM 系统具有 SQL-92 的绝大部分数据类型,以及部分 SQL-99 和 SQL Server 2000 的数据类型。常规数据类型字符数据类型CHAR 类型 语法:CHAR(长度)功能:CHAR 数据类型指定定长字符串。在基表中,定义 CHAR 类型的列时,其最大存储长度由数据库页面大小决定,可以指定一个不超过其最大存储长度的正整数作为字符长度,例如:CHAR(
50、100)。如果未指定长度,缺省为 1。DM 确保存储在该列的所有值都具有这一长度。CHAR 数据类型最大存储长度和页面大小的对应关系请见下表 1.4.1。但是,在表达式计算中,该类型的长度上限不受页面大小限制,为 32767。DM 支持按字节存放字符串。表 1.4.1数据库页面大小实际最大长度4K19008K390016K800032K8188这个限制长度只针对建表的情况,在定义变量的时候,可以不受这个限制长度的限制。另外,实际插入表中的列长度要受到记录长度的约束,每条记录总长度不能大于页面大小的一半。CHARACTER 类型 语法:CHARACTER(长度)功能:与 CHAR 相同。VARC
51、HAR 类型/VARCHAR2 类型 语法:VARCHAR(长度)功能:VARCHAR 数据类型指定变长字符串,用法类似 CHAR 数据类型,可以指定一个不超过 8188 的正整数作为字符长度,例如:VARCHAR (100)。如果未指定长度,缺省为8188。在基表中,当没有指定 USING LONG ROW 存储选项时,插入 VARCHAR 数据类型的实际最大存储长度由数据库页面大小决定,具体最大长度算法如表 1.4.1;如果指定了 USING LONG ROW 存储选项,则插入 VARCHAR 数据类型的长度不受数据库页面大小限制。VARCHAR 类型在表达式计算中的长度上限不受页面大小限
52、制,为 32767;CHAR 同 VARCHAR 的区别在于前者长度不足时,系统自动填充空格,而后者只占用实际的字节空间。另外,实际插入表中的列长度要受到记录长度的约束,每条记录总长度不能大于页面大小的一半。VARCHAR2 类型和 VARCHAR 类型用法相同。数值数据类型精确数值数据类型语法:NUMERIC(精度 , 标度)NUMERIC 类型功能:NUMERIC数据类型用于存储零、正负定点数。其中:精度是一个无符号整数, 定义了总的数字数,精度范围是1至38。标度定义了小数点右边的数字位数。一个数的标度不应大于其精度,如果实际标度大于指定标度,那么超出标度的位数将会四舍五入省去。例如:N
53、UMERIC(4,1)定义了小数点前面3位和小数点后面1位,共4位的数字,范围在-999.9 到999.9。所有NUMERIC数据类型,如果其值超过精度,DM会返回一个出错信息,如果超过标度,则多余的位会被截断。如果不指定精度和标度,缺省精度为38。语法:DECIMAL(精度 , 标度)DECIMAL类型功能:与 NUMERIC 相似。语法:DEC(精度, 标度)DEC 类型功能:与 DECIMAL 相同。语法:NUMBER(精度, 标度)NUMBER 类型功能:与 NUMERIC 相同。语法:INTEGERINTEGER 类型功能:用于存储有符号整数,精度为 10,标度为 0。取值范围为:-
54、2147483648 (-231) +2147483647(231-1)。语法:INTINT 类型功能:与 INTEGER 相同。语法:BIGINTBIGINT 类型功能:用于存储有符号整数 , 精度为 19 ,标度为 0 。取值范围为: -9223372036854775808(-263)9223372036854775807(263-1)。语法:TINYINTTINYINT 类型第 1 章 结构化查询语言 DM_SQL 简介5功能:用于存储有符号整数,精度为 3,标度为 0。取值范围为:-128 +127。BYTE 类型语法:BYTE语法:SMALLINT功能:与 TINYINT 相似,精
55、度为 3,标度为 0。SMALLINT 类型功能:用于存储有符号整数,精度为 5,标度为 0。取值范围为:-32768(-215) +32767(215-1)。BINARY 类型语法:BINARY(长度)功能:BINARY 数据类型用来存储定长二进制数据。缺省长度为 1 个字节。最大长度由数据库页面大小决定,具体最大存储长度算法与 CHAR 类型的相同,其在表达式计算中的长度上限也与 CHAR 类型相同,为 32767。BINARY 常量以 0 x 开始,后面跟着数据的十六进制表示。例如 0 x2A3B4058。语法:VARBINARY(长度)VARBINARY 类型功能:VARBINARY
56、数据类型用来存储变长二进制数据,用法类似 BINARY 数据类型, 可以指定一个不超过 8188 的正整数作为数据长度。缺省长度为 8188 个字节。VARBINARY 数据类型的实际最大存储长度由数据库页面大小决定,具体最大长度算法与 VARCHAR 类型的相同,其在表达式计算中的长度上限也与 VARCHAR 类型相同,为 32767。近似数值数据类型语法:FLOAT(精度)FLOAT 类型功能:FLOAT 是带二进制精度的浮点数。该类型直接使用标准 C 语言中 DOUBLE。精度值设置无实际意义,精度设置用于保证数据移植的兼容性,实际精度在达梦内部是固定的。精度处于范围(1126)时忽略精
57、度,超过此范围直接报错。语法:DOUBLE(精度)FLOAT 取值范围-1.7*10308 1.7*10308。DOUBLE 类型功能:DOUBLE 是带二进制精度的浮点数。DOUBLE 类型的设置是为了移植的兼容性。该类型直接使用标准 C 语言中 DOUBLE。精度与取值范围用法与 FLOAT 完全一样。语法:REALREAL 类型功能:REAL 是带二进制精度的浮点数,但它不能由用户指定使用的精度,系统指定其二进制精度为 24,十进制精度为 7。取值范围-3.4*1038 3.4*1038。语法:DOUBLE PRECISION(精度)DOUBLE PRECISION 类型功能:该类型指明
58、双精度浮点数。DOUBLE PRECISION 类型的设置是为了移植的兼容性。 该类型直接使用标准 C 语言中 DOUBLE。精度与取值范围用法与 FLOAT 完全一样。位串数据类型语法:BITBIT 类型第 1 章 结构化查询语言 DM_SQL 简介 PAGE 17功能:BIT 类型用于存储整数数据 1、0 或 NULL,只有 0 才转换为假,其他非空、非0 值都会自动转换为真,可以用来支持 ODBC 和 JDBC 的布尔数据类型。DM 的 BIT 类型与SQL SERVER2000 的 BIT 数据类型相似。功能与 ODBC 和 JDBC 的 bool 相同。日期时间数据类型日期时间数据类
59、型分为一般日期时间数据类型、时间间隔数据类型和时区数据类型三类,用于存储日期、时间和它们之间的间隔信息。一般日期时间数据类型语法:DATEDATE 类型功能:DATE 类型包括年、月、日信息,定义了-4712-01-01和9999-12-31之间任何一个有效的格里高利日期。DM 支持儒略历,并考虑了历史上从儒略历转换至格里高利日期时的异常,不计算1582-10-05到1582-10-14之间的 10 天。DM 支持 SQL92 标准或 SQL SERVER 的 DATE 字值,例如:DATE 1999-10-01、1999/10/01或1999.10.01都是有效的 DATE 值,且彼此等价。
60、年月日中第一个非0 数值前的 0 亦可省略,例如0001-01-01等价于1-1-1。语法:TIME(小数秒精度)TIME 类型功能: TIME 类型包括时、分、秒信息,定义了一个在00:00:00.000000和23:59:59.999999之间的有效时间。TIME 类型的小数秒精度规定了秒字段中小数点后面的位数,取值范围为 06,如果未定义,缺省精度为 0。DM 支持 SQL92 标准或 SQL SERVER 的 TIME 字值,例如:TIME 09:10:21,09:10:21或9:10:21都是有效的 TIME 值,且彼此等价。语法:TIMESTAMP(小数秒精度)TIMESTAMP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年四川省邛崃市高二历史上册期末考试真题附参考答案(突破训练)
- 湖北省武汉市水果湖高级中学高三数学第9单元同步练习题及答案
- 企业领导力与变革管理培训考核试卷及答案
- 2026年北京市交通安全教育测试卷及答案
- 2026秋小学人教版数学六年级上册《分数应用题》(单位的具体量 vs 不带单位的分率)易错题专项练习及答案
- 销售代表客户沟通技巧与成交策略工作手册(标准版)
- 物流配送人员培训教材
- 宜春市重点中学2026-2027学年八年级物理第一学期期末综合测试试题含解析
- 2026年河南省新乡市长垣县六年级数学第一学期期末统考试题含解析
- 河北省邯郸市武安市2026-2027学年八年级物理第一学期期末质量检测模拟试题含解析
- 2026年研学导师岗位培训考试试题(附答案)
- 26新五年级上册语文第一次月考检测卷1-2单元
- 第一单元《健康生活 单元小结》课件
- 细胞治疗产品审批监管趋势与市场准入报告
- 国聘招聘笔试测评题库
- 新生儿颅脑超声诊断专家共识(2026版)
- 劲性钢骨梁柱施工方案
- 2026全球及中国柠檬行业消费趋势与需求规模预测报告
- 《碳中和导论》课件-第四章 储能技术与绿色燃料
- 雨课堂学堂在线学堂云《人工智能时代的创新思维(北京理工)》单元测试考核答案
- 烈士纪念日缅怀先烈-不负英魂主题班会课件高中主题班会课件
评论
0/150
提交评论