如何在Teradata SQL中生成AUTOMATIC数字

时间:2014-02-24 08:00:04

标签: sql auto-increment teradata

我想生成AUTOMATIC Number以使用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 * FROM TEST_TABLE;

上面的结果将是,

1 TOM
2 JIM
3 JAN

2 个答案:

答案 0 :(得分:4)

使用以下语法创建一个列:

SEQ_NUM decimal(10,0) NOT NULL GENERATED ALWAYS AS IDENTITY
           (START WITH 1 
            INCREMENT BY 1 
            MINVALUE 1 
            MAXVALUE 2147483647 
            NO CYCLE)

答案 1 :(得分:0)

通常表格中有一列是唯一的。

如果您不想在表格中添加额外的列,可以使用以下技术在结果集中添加列。

从表T中选择RANK()OVER(ORDER BY),T。* SEQ;

它会为您提供如下输出:

1 x x yy 2 b xx yy 3 c xx yy