我想在不同的DB中的兩個表之間傳輸一些數據但是源表在PostalCode
列中有一些重複值,我在PostalCode
列創建了與英國的目標表,腳本需要同步檢查,未插入前插入一個值,這是我的示例腳本:在兩個數據庫之間傳輸數據並同步檢查不重複的值
INSERT INTO [Target]
(
[FirstName],
[LastName],
[PostalCode],
)
(
SELECT
[Sc].[FirstName],
[Sc].[LastName],
CASE
WHEN 'Check for not repeated before' THEN [Sc].[PostalCode]
ELSE CAST(1000000000 + ROW_NUMBER() OVER(ORDER BY [Sc].[FirstName]) AS CHAR(10)) END
FROM [Source] AS [Sc]
);
那麼,什麼是您的建議來處理呢?
編輯
,是有沒有辦法寫一個腳本用於或光標?我的意思是異步檢查重複的值?
我嘗試你的答案,並有一個錯誤:'函數'ROW_NUMBER'必須有ORDER BY OVER子句。' – Saeid 2012-02-22 12:34:16
@Saeid - 你可以添加你喜歡的任何ORDER BY。我添加了「PostalCode」,它基本上什麼都不做(如果按PostalCode進行分區,則按照定義,組中的每條記錄都是相同的)。您可以決定按姓氏或任何其他字段劃分優先次序。它只是控制哪些獲得DuplicateID 1,哪些獲得DuplicateID2等。使用它並查看哪些最適合您。 – MatBailie 2012-02-22 13:00:38