IDENTITY列属性介绍

在OS/400 V5R2版本中DB2/UDB新增加了IDENTITY列属性,下面做简单介绍
IDENTITY的主要用途是实现用户的定义的某个字段自动按某个步长自动增加。 语法如下:
IDENTITY_VAL_LOCAL-(-)----------------------------------

IDENTITY_VAL_LOCAL是一个非确定函数,它按照定义为新插入的行生成标示。
它支持的数据类型有:INTEGER,SMALLINT,BIGINT,DECIMAL和NUMERIC。

举例说明:

===> CREATE TABLE LIBRARYNAME/EMPLOYEE
(EMPNO INTEGER GENERATED ALWAYS AS IDENTITY,
NAME CHAR(30),
SALARY DECIMAL(5,2),
DEPT SMALLLINT)

EMPNO是雇员的ID,它被定义为IDENTITY,它的初始值为1,步长为1,插入新值后,内容如下:

....+....1....+....2....+....3....+....4....+....5....+....6....
EMPNO NAME SALARY DEPT
1 ZHANGSAN 100.90 1
2 LISI 200.90 2
3 ZHAOLIU 300.90 3
4 TOM 400.90 3
5 SMITH 600.90 13
6 JOHN 700.80 2
7 BLACK 800.00 12
8 LISA 900.00 2
9 abc 970.00 1
******** End of data ********

同样,也可以按照自己的要求定义初始值和步长,例如:

===> CREATE TABLE LIBRARYNAME/EMPLOYEE1
(EMPNO INTEGER GENERATED ALWAYS AS IDENTITY (START WITH 100, INCREMENT BY 10),
NAME CHAR(30),
SALARY DECIMAL(5,2),
DEPT SMALLINT)

EMPNO的初始值为100,步长为10。

原文地址:https://www.cnblogs.com/etsdpt/p/2316970.html