2013-10-26 26 views
-1

我有一個表測試它有10列20行。存檔一個表中的日期在另一個表與存檔日期在Oracle

我需要將此數據移動到具有11列(10個與測試表相同,另外一列爲存檔日期)的archive_test表中。

當我試圖插入像下面顯示錯誤,因爲列錯配數。

insert into archive_test 
select * from test; 

請建議更好的方法來做到這一點。謝謝!

回答

1

假設archive_date最後柱:

INSERT INTO archive_test 
SELECT test.*, sysdate 
FROM test 
2

顯然,你需要爲所有的列提供值,儘管你能避免這樣做,你也應該明確說明whic值是怎麼回事被插入到哪一列。如果你有一個目標表的額外列,您可以:

  1. 別提了
  2. 指定一個默認值,如表
  3. 有其列定義的一部分觸發填充它
  4. 指定該列的值。

例如,

insert into table archive_test (col1, col2, col3 ... col11) 
select col1, 
     col2, 
     col3, 
     ... 
     sysdate 
from test; 
相關問題