2014-06-24 40 views

回答

1

聲明:

insert into table2 
    select * 
    from table1; 

對齊的位置列,按列名。在大多數情況下,您應該明確姓名:

insert into table2(col1, . . . coln) 
    select col1, . . . coln 
    from table1; 

Netezza基於Postgres。 Here是Postgres中的相關文檔:

目標列名可以按任意順序列出。如果沒有的 列名稱列表中所有給定,則默認爲 表在其聲明的順序中的所有列;或所述第一N個列名,如果有 是由VALUES子句或查詢只供給N列。由VALUES子句或查詢提供的值 與左到右的 明示或暗示的列列表關聯。

但是,我認爲這種行爲是ANSI標準的一部分。我知道的所有數據庫都以這種方式運作。