Teradata IDENTITY Column
来源:互联网 发布:mocha跟踪数据导入ae 编辑:程序博客网 时间:2024/06/05 19:12
Teradata 中也可以定义自动增长列,语法如下:
CREATE TABLE test
(
ID INTEGER GENERATED BY DEFAULT AS IDENTITY
(START WITH 100
INCREMENT BY 1
),
CID INTEGER,
PID INTEGER)
我们用show table test来查看,则可以发现它的定义,系统自动设置了一些条件。
CREATE SET TABLE test ,NO FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT
(
ID INTEGER GENERATED BY DEFAULT AS IDENTITY
(START WITH 100
INCREMENT BY 1
MINVALUE -2147483647
MAXVALUE 2147483647
NO CYCLE),
CID INTEGER,
PID INTEGER)
PRIMARY INDEX ( ID );
如上定义中,有两种方法定义IDENTITY 类型,他们的区别如下
ID INTEGER GENERATED BY DEFAULT AS IDENTITY
ID INTEGER GENERATED ALWAYS AS IDENTITY
运行以下的SQL:
1. insert into test(CID,PID) values(1,1)
2. insert into test(ID,CID,PID) values(1,1,1)
3. insert into test(ID,CID,PID) values(110,1,1)
BY DEFAULT :
运行成功,结果如下,可以插入指定的数值在列中
1 1 1
100 1 1
110 1 1
ALWAYS :
运行成功,结果如下,指定的数值会被忽略,转换为自动增长数值
100 1 1
101 1 1
102 1 1
注意 :在BY DEFAULT方式中,因为系统中保存有自动增长数值,如插入的数值110大于定义的100,则迟早IDENTITY会增长到这个数值,那时候就会发生 IDENTITY DUPLICATE冲突,而ALWAYS则不会有这个问题。将SQL 1多运行几次你将会发现这个错误。
版权声明:本文为博主原创文章,未经博主允许不得转载
- Teradata IDENTITY Column
- Teradata IDENTITY Column
- Teradata IDENTITY Column
- Cannot update identity column 'XXX'
- Cannot update identity column 'XXX'
- DB2中IDENTITY COLUMN测试
- Insert the self-growth (IDENTITY) column
- Teradata
- Teradata
- Summary on 20080701: insert value for identity column in sql
- How To: Reset Identity column in SQL Server
- Cannot use identity column key generation with mapping for
- oracle 12c 列自增长 identity column
- identity
- @@IDENTITY
- @@IDENTITY
- @@identity
- An explicit value for the identity column in table 'users' can only be specified when a column list
- poj 1018 Communication System 动态规划
- 1018. 锤子剪刀布 (20)
- HTTP头文件详解
- ExpandableListView中自定义的childitem无法点击原因总结
- 敏捷实况4:与管理者谈敏捷
- Teradata IDENTITY Column
- Express中善用middleware
- 2015年蓝汛面试题
- 沈阳站之后
- android开发之shape详解
- 三星Galaxy Note5职场轻态度 对职场人士“减负”的启示
- Git的一些命令
- android底层开发入门(2)-git与repo
- 二叉树的实现