第一種狀況:將A數據庫.dbo.A表的數據追加到B數據庫.dbo.B表中 (條件:此時B數據庫中已建立好了B表)html
insert into B數據庫.dbo.B表 select * from A數據庫.dbo.A表 [where條件]
此T-SQL語句會有異常 僅當使用了列列表而且 IDENTITY_INSERT 爲 ON 時,才能爲表'B數據庫.dbo.B表'中的標識列指定顯式值。
數據庫
緣由:B數據庫.dbo.B表中某列別設置成自動增加(通常爲主鍵ID)。spa
解決:把 * 變成 指定 [列名] ,把自動增加的那一列去掉。code
第二種狀況:將A數據庫.dbo.A表的數據複製到B數據庫.dbo.B表中 (條件:此時B數據庫中沒有建立B表或同名的表)htm
select * into B數據庫.dbo.B表 from A數據庫.dbo.A表 [where 條件]
執行完此語句後,B數據庫中將會建立和A數據庫.dbo.A表 同樣結構的B表。經過此語句建立的B表沒有主鍵。而且再次使用該語句後也會報錯【提示信息:已經存在B表】blog