次の構造に2つのテーブルがあります
表 - メモタイプ
ID | MemoTypeID | MemoTypeName
1 1234 A
2 5678 B
表 - メモ
ID | MemoTypeID | Memo | ExtRef
1 1234 TextOne XYZ
2 5678 TextTwo XYZ
3 1234 TextThree TUV
これらの表を更新して、次のデータを反映させたいと考えています
表 - メモタイプ
ID | MemoTypeID | MemoTypeName
3 9999 NewCombinedMemo
表 - メモ
ID | MemoTypeID | Memo | ExtRef
4 9999 <A> TextOne <B> TextTwo XYZ
5 9999 <A> TextThree TUV
memos テーブルには、約 200,000 の一意の値を持つ約 200 万行がありますExtRef
。
私の考えは次のようなものです (.NET を使用):テーブルからList
すべての一意のExtRef
値を入力します。Memos
一意ごとに、すべての値ExtRef
のリストを取得します。Memo
必要に応じて文字列を連結します。それぞれに新しいレコードを挿入しますExtRef
。各 の残りのレコードを削除しますExtRef
。問題は、これにより多数の SQL 操作が発生することです。
これを SQL で直接達成するための他の効率的な戦略があるかどうかを提案してください。