当前位置:   article > 正文

达梦数据库修改字段长度_DM7 达梦数据库 序列 和 自增列 说明

达梦数据库修改某个字段自增

在DM 数据库中,自增有两种方法实现,一种是自增列,另一种通过序列实现。

1 自增列

1.1 创建自增列

在创建表时可以制定列是否自增。 一个表只能有一个自增列。

语法格式https://www.cndba.cn/cndba/dave/article/3590

IDENTITY [ (种子, 增量) ]

https://www.cndba.cn/cndba/dave/article/3590

参数

1.种子:装载到表中的第一个行所使用的值;

2.增量:增量值,该值被添加到前一个已装载的行的标识值上。增量值可以为正数或负数,但不能为 0。

1.IDENTITY 适用于 int(-2147483648~+2147483647)、bigint(-2^63~+2^63-2)类型的列;每个表只能创建一个自增列;

2.不能对自增列使用 DEFAULT 约束;

3.必须同时指定种子和增量值,或者二者都不指定。如果二者都未指定,则取默认值(1,1);若种子或增量为小数类型,报错;

4.最大值和最小值为该列的数据类型的边界;

5.建表种子和增量大于最大值或者种子和增量小于最小值时报错;

6.自增列一旦生成,无法更新,不允许用 Update 语句进行修改;https://www.cndba.cn/cndba/dave/article/3590

临时表、列存储表、水平分区表、垂直分区表不支持使用自增列。

SQL> create table HuaiNing(id int identity,name varchar(20));

executed successfully

used time: 6.902(ms). Execute id is 551.

SQL>

SQL> desc huaining

LINEID NAME TYPE$ NULLABLE

---------- ---- ----------- --------

1 ID INTEGER N

2 NAME VARCHAR(20) Y

used time: 12.016(ms). Execute id is 552.

SQL>

1.2 自增列查询函数

1)IDENT_SEED (‘tablename’) : 返回种子值,该值是在带有自增列的表中创建自增列时指定的。

SQL> select ident_seed('CNDBA.HUAINING');

LINEID IDENT_SEED('CNDBA.HUAINING')

---------- ----------------------------

1 1

used time: 2.280(ms). Execute id is 553.

SQL>

2)IDENT_INCR (‘tablename’):返回增量值,该值是在带有自增列的表中创建自增列时指定的。

SQL> select ident_incr('CNDBA.HUAINING');

LINEID IDENT_INCR('CNDBA.HUAINING')

---------- ----------------------------

1 1

used time: 2.114(ms). Execute id is 555.

SQL>

3)SET IDENTITY_INSERT 属性: 设置是否允许将显式值插入表的自增列中。

语法格式:

SET IDENTITY_I

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/638718
推荐阅读
相关标签
  

闽ICP备14008679号