如何在Teradata SQL中生成自动编号
我想生成使用TD SQL的自动编号,例如:如何在Teradata SQL中生成自动编号,sql,auto-increment,teradata,Sql,Auto Increment,Teradata,我想生成使用TD SQL的自动编号,例如: CREATE MULTISET TABLE TEST_TABLE ( AUTO_NUMBER INT, NAME VARCHAR(10) ) PRIMARY INDEX (AUTO_NUMBER); INSERT INTO TEST_TABLE VALUES('TOM'); INSERT INTO TEST_TABLE VALUES('JIM'); INSERT INTO TEST_TABLE VALUES('JAN'); SELECT *
CREATE MULTISET TABLE TEST_TABLE
(
AUTO_NUMBER INT,
NAME VARCHAR(10)
)
PRIMARY INDEX (AUTO_NUMBER);
INSERT INTO TEST_TABLE
VALUES('TOM');
INSERT INTO TEST_TABLE
VALUES('JIM');
INSERT INTO TEST_TABLE
VALUES('JAN');
SELECT * FROM TEST_TABLE;
上述结果将是
1 TOM
2 JIM
3 JAN
使用以下语法创建列:
SEQ_NUM decimal(10,0) NOT NULL GENERATED ALWAYS AS IDENTITY
(START WITH 1
INCREMENT BY 1
MINVALUE 1
MAXVALUE 2147483647
NO CYCLE)
通常表中有一列是唯一的 如果不想向表中添加额外的列,可以使用以下技术在结果集中添加列 从表T中选择(ORDER BY)上的秩(),T.*SEQ 它将为您提供如下输出: 1a xx yy 2b xx年
3 c xx yy通过这种方式,您可以添加一个自动增量列:TERADATA SQL ASSISTENTHi Joe,谢谢,TERADATA论坛这是meDo的好地方您真的需要一个没有间隙的序列吗?1,2,3? 标识不能保证序列号,事实上,它不是单个序列,而是每个AMP/PE的多个序列。这对已经填充行的现有表有效吗?