首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 跨資料庫複製資料表並去重複:單一敘述句實作

     編輯:關於SqlServer

需求

同一伺服器上,將來源資料庫 Whir_ezMall_Full 的 Whir_Member 表資料複製到目標資料庫 Whir_ezMall_Full_c 的同名表,並依 MemberID 去除重複。

單一 INSERT 敘述句

INSERT INTO Whir_ezMall_Full_c..Whir_Member (
    MemberID, LevelID, Account, MemberPWD, Email, Integral, MemberName,
    MemberStatus, Sex, Birthday, Area, Adress, ZipCode, Tel, Mobile,
    SaveQuestion, SaveAnswer, CreateData, LastLoginData, ImgUrl,
    LimitIntegral, IntegralBeginTime, IntegralEndTime, memberType,
    BankType, BankRegion, BankAddress, BankAccount, BankName, IsQQ
)
SELECT
    MemberID, LevelID, Account, MemberPWD, Email, Integral, MemberName,
    MemberStatus, Sex, Birthday, Area, Adress, ZipCode, Tel, Mobile,
    SaveQuestion, SaveAnswer, CreateData, LastLoginData, ImgUrl,
    LimitIntegral, IntegralBeginTime, IntegralEndTime, memberType,
    BankType, BankRegion, BankAddress, BankAccount, BankName, IsQQ
FROM Whir_ezMall_Full..Whir_Member
WHERE MemberID NOT IN (SELECT MemberID FROM Whir_ezMall_Full_c..Whir_Member)

關鍵點解析

  • 三段式名稱:Database..Table 跨資料庫直接存取。
  • NOT IN 子查詢:排除目標表已存在的主鍵,實現去重複。
  • 欄位清單明確列出,避免結構變更導致錯誤。

效能建議

  • 大量資料建議分批次(如每 5 萬列)提交,避免記錄檔暴增與長時間鎖定。
  • 確保 MemberID 有索引,子查詢效能最佳。
  • 若資料量極大(百萬級以上),考慮使用 SSIS、BCP 或 INSERT ... SELECT 搭配 TABLOCK 提示。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved