从另一个表和标识列创建Oracle SQL表

时间:2014-09-26 20:47:59

标签: sql oracle

我通常使用此代码从现有表创建一个新表:

CREATE TABLE TABLE_NEW
AS
SELECT 'TEST' AS TEST_COLUMN,
        PRS_ID AS TABLE_ID
FROM TABLE_OLD

如何在TABLE_NEW中插入标识列。所以我在TABLE_NEW,ID,TEST_COLUMN和TABLE_ID中有3列?

ID可以定义为

[ID] [int] IDENTITY(1,1) NOT NULL,

谢谢!

1 个答案:

答案 0 :(得分:1)

首先创建表格。

使用序列,你可以创建一个这样的序列:

CREATE SEQUENCE myseq
START WITH     1
INCREMENT BY   1
NOCACHE
NOCYCLE;

然后使用:

INSERT INTO table2 (col1, col2, col3) 
SELECT myseq.nextval, foo1, foo2 
FROM table1