差分データベースから2つのテーブル間でデータを転送したいところですが、ソーステーブルにはPostalCode
カラムに繰り返し値があります。スクリプトは、前に挿入された値を挿入し、これは私のサンプルスクリプトではないと同期を確認する必要があります。2つのデータベース間でデータを転送し、値を同期してチェックしないでください
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
@Saeid - 好きなようにORDER BYを追加できます。基本的には何もしない "PostalCode"を追加しました(PostalCodeでパーティション化すると、グループ内のすべてのレコードで定義通りに同じになります)。姓やその他のフィールドの優先順位を決めることができます。それはDuplicateID 1を取得するか、DuplicateID2を取得するかなどを制御するだけです。 – MatBailie