ターゲット表には、ソース表に存在しないPK列usr_cd
があります。したがって、ソースからターゲットに挿入する際に、固有のコードを生成する必要があります。 MERGE
ステートメントを使用しているときに、これをどのように達成できますか?MERGE内のINSERTで一意のコードを生成する方法は?
以下のオプションは運なしで試されています。
- Sequenceオブジェクト:
MERGE
内部で使用することはできません。 - SPコール:
INSERT
のMERGE
の内部でSPを実行できません。 - 関数呼び出し:UDF内でシーケンスオブジェクトを使用できないため、役立たないでしょう。また、テーブルに一意の値を格納しても、UDF内で更新することはできません。
- ソーステーブルにコードを追加する:一部のレコードが更新され、一部が挿入されるため、シーケンスを壊すため、使用できません。
ターゲットテーブルにデフォルトを追加することも1つの選択肢ですが、避けたいのですが。
MERGE
を使用している間にこれを達成する他の方法があるかどうかを教えてください。
私はそれを取得しません。単純にID列を使用しないのはなぜですか?それはこの種の問題に対する最良の解決策です。 –
@ZoharPeledこれらの挿入されたレコードを個別に追跡する必要があるため、IDを使用することはできません。 –