1

SQL Server 2008 に 2 つのテーブルがあります

TBL_CustomerMaster
[FilingId] [numeric]  (18, 0) NOT NULL,
[CustId]   [nvarchar] (500)   COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,

TBL_Customer
[FilingId]  [numeric]  (18, 0) NOT NULL,
[CustUnqId] [numeric]  (18, 0) NOT NULL,
[CustId]    [nvarchar] (500)   COLLATE SQL_Latin1_General_CP1_CI_AS NOT NULL,

一括挿入を使用して、各 FilingId の 2 つのテーブルにデータをロードしました。2 つのテーブルの CustId は同じです。TBL_Customer に一意の CustUnqId を生成しました

ここで、CustUnqId を TBL_CustomerMaster の CustId にマップします。つまり、TBL_CustomerMaster の CustId を対応する CustUnqId フォーム TBL_Customer に置き換えます。

親切に解決策を提案してください。

4

1 に答える 1

2

これを試すことができますが、これをトランザクションに含めて、実稼働環境に何かを配置する前にテストを行います。

SELECT  a.CustId,
        b.CustUnqId
INTO    #temp
FROM    TBL_CustomerMaster a
JOIN    TBL_Customer b ON
        a.CustId = b.CustId

UPDATE  TBL_CustomerMaster
SET     CustId = t.CustUnqId
FROM    TBL_CustomerMaster a
JOIN    #temp t ON
        t.CustId = a.CustId
于 2012-11-29T11:56:46.647 に答える