达梦数据库管理系统DM SQL序列定义详解

需积分: 46 25 下载量 83 浏览量 更新于2024-08-10 收藏 2.14MB PDF 举报
"达梦数据库管理系统DM的SQL语言使用手册,涵盖了数据定义、查询和全文检索等内容,特别强调了序列定义语句的使用,用于生成唯一整数值,常用于自动填充主键。" 在达梦数据库管理系统DM中,序列定义语句是一个关键的SQL元素,用于创建一个数据库实体,该实体能够生成唯一的整数值,常被用作自动填充主键字段,确保数据的唯一性。序列的操作基于以下语句格式: `CREATE SEQUENCE [ <模式名>.] <序列名> [AT <数据库名>] [INCREMENT BY <增量值>] [START WITH <初值>] [MAXVALUE <最大值> | NOMAXVALUE] [MINVALUE <最小值> | NOMINVALUE] [CYCLE | NOCYCLE] [CACHE | NOCACHE] [ORDER | NOORDER];` 1. `<数据库名>`: 指定序列所属的数据库,默认为当前数据库。 2. `<模式名>`: 指定序列所属的模式,默认为当前模式。 3. `<序列名>`: 定义序列的名称,必须是唯一的。 4. `<增量值>`: 定义序列值之间的间隔,可正可负,但不能为0。默认为1。 5. `<初值>`: 定义序列开始的数值,可以设置为大于最小值的升序或小于最大值的降序。 6. `<最大值>`: 设置序列的上限,升序序列默认为9223372036854775806,降序为-1。 7. `<最小值>`: 设置序列的下限,升序为1,降序为-9223372036854775808。 8. `CYCLE` 和 `NOCYCLE`: 若设置`CYCLE`,序列到达最大值或最小值后会重新开始,否则到边界后停止。 例如,创建一个名为`schemaname.sequencename`的序列,可以使用如下语句: ```sql CREATE SEQUENCE schemaname.sequencename AT dbname INCREMENT BY 1 START WITH 1 MAXVALUE 100 MINVALUE 1 CYCLE; ``` 这将创建一个名为`schemaname.sequencename`的序列,在`dbname`数据库中,每次递增1,初始值为1,最大值和最小值都是1,因此一旦达到100,序列将回退到1。 DM数据库的SQL语言还包括其他数据定义语句,如数据库、模式、用户、登录、基表、索引等的定义、修改和删除,以及数据查询和全文检索功能,如单表查询、连接查询、子查询、GROUP BY和HAVING子句等,构成了全面的数据库管理和操作工具。