首先創建列,如果它不存在:
ALTER TABLE database2..targetTable
ADD targetColumn int null -- or whatever column definition is needed
由於您使用的是Sql Server 2005,因此您可以使用新的MERGE語句。 MERGE聲明的優點是能夠在一條語句中處理所有情況像來自源的缺失行(可以插入),缺少來自目標的行(可以執行刪除),匹配行(可以執行更新)以及所有內容是在一次交易中完成的。例如:
MERGE database2..targetTable AS t
USING (SELECT sourceColumn FROM sourceDatabase1..sourceTable) as s
ON t.PrimaryKeyCol = s.PrimaryKeyCol -- or whatever the match should be bassed on
WHEN MATCHED THEN
UPDATE SET t.targetColumn = s.sourceColumn
WHEN NOT MATCHED THEN
INSERT (targetColumn, [other columns ...]) VALUES (s.sourceColumn, [other values ..])
MERGE語句就是爲解決像你這樣的情況下,我建議使用它,這比使用多個SQL批處理報表解決方案,基本上完成同樣的事情MERGE確實在一個聲明中沒有添加更強大複雜。
有趣。我不知道合併。涼 – 2008-09-10 18:51:40