如何將一個數據庫中的一個表復制到另一個數據庫的表中去


第一種情況:將a數據庫.dbo.a表的數據追加到b數據庫.dbo.b表中 (條件:此時b數據庫中已創建好了b表
inert   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表沒有主鍵。

 

 1、同服務器   select   *   from   數據庫名.dbo.表名   where   條件   
  2、不同服務器     
  SELECT   *   FROM   OpenRowset('MSDASQL',   'Driver=SQL   Server;Server=服務器名(或IP);UID=sa;PWD=服務器數據庫密碼',   數據庫名.dbo.表   )   where   條件   
  SELECT   *   
  FROM   OPENROWSET('SQLOLEDB','服務器名(或IP)';'sa';'服務器數據庫密碼',   
        '查詢的sql語句')     
    
  SELECT       *   
  FROM           OPENDATASOURCE(   
                    'SQLOLEDB',   
                    'Data   Source=服務器名(或IP);User   ID=sa;Password=服務器數據庫密碼'   
                    ).數據庫名.dbo.表   where   條件   


免責聲明!

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



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