0

親/子レコードを含むテーブル A があります。テーブル A を参照するテーブル B があります。外部キーは適用されません。正しい親を指すように子レコードを更新するために、一括削除/挿入を行っています。これにより、子レコードに新しい主キーが割り当てられ、テーブル B でも更新する必要があります。

カーソルまたは行ごとの処理を使用せずにこれを行う方法はありますか?

4

1 に答える 1

1

サンプルデータとその修正方法を投稿していただけますか? 実際のテーブル スキーマを見ないと、いくつかの仮定しかできないため、これは完全には機能しない可能性があります。

select PrimaryKeyField AS RowID, ChildKeyField AS OldChildID, newid() AS NewChildID
into #UpdateTable
from TableA
where SomeConditionToSelectTheChildRecords

update TableA
set TableA.ChildKeyField = #UpdateTable.NewChildID
from TableA
    inner join #UpdateTable on TableA.PrimaryKeyField = #UpdateTable.RowID

update TableB
set TableB.ChildKeyField = #UpdateTable.NewChildID
from TableB
    inner join #UpdateTable on TableB.ChildKeyField = #UpdateTable.OldChildID
于 2013-04-22T16:22:26.653 に答える