欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

达梦数据库序列的用法【达梦数据库技术系列】

程序员文章站 2022-06-02 20:05:57
...

 

 

        序列(sequence)是 达梦数据库中的数据库实体之一。通过使用序列,多个用户可以 产生和使用一组不重复的有序整数值。比如可以用序列来自动地生成主关键字值。序列通过提供唯一数值的顺序表来简化程序设计工作。

        当一个序列第一次被查询调用时,它将返回一个预定值,该预定值就是在创建序列时所指定的初始值。默认情况下,对于升序序列,序列的缺省初始值为序列的最小值,对于降序序列,缺省初始值为序列的最大值。可以指定序列能生成的最大值,默认情况下,降序序列的最大值缺省为-1,升序序列的最大值为 263-1; 也可以指定序列能生成的最小值,默认情况下,升序序列的最小值缺省为 1,降序序列的最小值为-263。序列的最大值和最小值可以指定为 longint(4 个字节)所能表示的最大和最小有符号整数;

        在随后的每一次查询中,序列将产生一个按其指定的增量增长的值。增量可以是任意的正整数或负整数,但不能为 0。如果此值为负,序列是下降的,如果此值为正,序列是上升的。默认情况下,增加缺省为 1。

【方法】

1.    创建序列


SQL > create sequence s1 
        start with 1        --开始值
        increment by 1       --每次增加多少
        maxvalue 200           --最大值
        nocache /cache      --是否缓存
        nocycle/cycle;       --是否循环

2. 查询序列状态 


SQL> select * from dba_sequences where sequence_name='S1';

3. 创建测试表并测试

SQL> create table t1 (id int primary key);
SQL> insert into t1 values (s1.nextval);

注意:
需要使用下面语句**序列,

SQL> select s1.nextval;


4. 修改序列

SQL> alter sequence s2 maxvalue 50;
SQL> alter sequence s2 minvalue -1000;


5. 删除序列
 

SQL> drop sequence s2;

 

相关标签: 数据库