複数のテーブルを結合した後に col1 をフェッチするクエリがあるとします。その col1 の値をリモート db にあるテーブルに挿入したい、つまり dblink を使用してそれを行います。
col1 が 4 ~ 5 の異なるデータベースから取得されるようになりました。db1 からの value1 フェッチが db2 でも同様になる可能性があります。重複を避けるにはどうすればよいですか?
私のリモートデータベースでは、主キーとして col1 を作成しました。そのため、挿入時に重複キーがあるとエラーがスローされ、最終結果は残りのプロセスに失敗します。私はしたくない。私は2つのアプローチについて考えていました
- PLSQLスクリプトを作成し、各値について、値がすでに存在するかどうかを判断します。そうでない場合は挿入します。
- PLSQL スクリプトを作成し、重複キー例外を挿入してキャッチします。例外は無視され、挿入され続けます (あまり良く聞こえません)。
あなたはどちらのアプローチを好みますか?他にできることはありますか?