SQL SERVER 將一個數據庫中的表和數據復制到另一個數據庫中


第一種情況:將A數據庫.dbo.A表的數據追加到B數據庫.dbo.B表中 (條件:此時B數據庫中已創建好了B表)

insert  into  B數據庫.dbo.B表   select  *  from  A數據庫.dbo.A表   [where條件]

此T-SQL語句會有異常    僅當使用了列列表並且 IDENTITY_INSERT 為 ON 時,才能為表'B數據庫.dbo.B表'中的標識列指定顯式值。

原因:B數據庫.dbo.B表中某列別設置成自動增長(一般為主鍵ID)。

解決:把 * 變成 指定 [列名] ,把自動增長的那一列去掉。

第二種情況:將A數據庫.dbo.A表的數據復制到B數據庫.dbo.B表中 (條件:此時B數據庫中沒有創建B表或同名的表)

select  *  into  B數據庫.dbo.B表    from   A數據庫.dbo.A表   [where 條件]

執行完此語句后,B數據庫中將會創建和A數據庫.dbo.A表 一樣結構的B表。通過此語句創建的B表沒有主鍵。並且再次使用該語句后也會報錯【提示信息:已經存在B表】


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM