2014-02-24 143 views
3

我想生成自動編號使用TD SQL,舉例如下,如何生成自動編號在Teradata的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 
+0

以這種方式可以添加自動增量列:HTTP://forums.teradata。 com /論壇/企業/自動增量列 –

+0

TERADATA SQL ASSISTENT – user2002948

+0

嗨,喬,謝謝,teradata論壇這是一個不錯的地方 – user2002948

回答

3

創建一個列使用以下語法:

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

這將工作在一個預先存在的表上已經填充行? – tiffylou

0

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

如果您不想向表中添加額外列,可以使用以下技術在結果集中添加列。

select RANK()OVER(ORDER BY),T。* TABLE T的SEQ;

它會給你喜歡輸出:

1 XX YY 2b中XX YY 3c中XX YY