2010-02-21 64 views

回答

3

您可以使用標準的SQL這一點,特別是insert..select聲明。假設你有如下表:

insert into t2 (f1,f2) select f1, f2 from t1; 

它不必是相同的結構,只要這些字段是:

t1: 
    f1 integer 
    f2 varchar(50) 

您可以從該表與將數據移動到另一個類似的表兼容。如果T2這樣定義:

t2: 
    f1 integer 
    f2 varchar(7) 
    f3 varchar(50) 

你可以這樣做:

insert into t2 (f1,f2,f3) select f1, 'n/a', f2 from t1; 

此外。 select語句具有所有常規選項,例如where子句用於限制複製的數據量,但有些可能沒有意義(如order by)。

如果你需要的表本身複製(以及複製數據),select..into是要走的路:

select into t3 from t1; 

這也讓where條款,限制了傳輸的數據。

如果您需要傳輸批次的數據和性能很重要,您可能需要考慮其中一個非標準SQL選項,如卸載和重新加載表格,或關閉性能「技巧」,如關閉在目標表上編制索引,直到數據傳輸完成。

相關問題