キーカラムの組み合わせが一致する既存の全行が DELETE され、ソースの 1 行だけが INSERT されます。出力先テーブルに同じキーの組み合わせを持つ行が複数ある場合、それらがすべて削除されてデータが消失する可能性があります。
検証例
キーカラムを order_id + order_date に設定した状態で、出力先に A001, 2024-01-01 が 3 行ある場合にジョブを実行しました。
実行前の出力先テーブル:
| order_id | order_date | amount |
|---|---|---|
| A001 | 2024-01-01 | 9999 |
| A001 | 2024-01-01 | 1000 |
| A001 | 2024-01-01 | 2000 |
| A002 | 2024-01-01 | 2000 |
実行後の出力先テーブル:
| order_id | order_date | amount |
|---|---|---|
| A001 | 2024-01-01 | 9999 |
| A002 | 2024-01-01 | 2000 |
A001, 2024-01-01 の 3 行が削除され、ソース側の 1 行のみ INSERT されました。
キーカラムの組み合わせが出力先テーブルで一意になるよう設計してください。
※ キーが一致するレコードが存在した場合の挙動で「スキップ」を選択した場合、この現象は発生しません。キーが一致する既存レコードを残したまま、一致しない行のみを INSERT するためです。
コメント
0件のコメント
記事コメントは受け付けていません。