2

挿入前にプライマリ列で一致が見つかったかどうかを確認し、一致した場合は新しい行を挿入する代わりに行情報を更新する Oracle トリガーを作成する方法を見つけようとしています。

を見てきましたbefore insert。そのブロック内の基準に基づいて挿入をキャンセルする方法はありますか?

句の使用も検討しましたinstead ofが、ビューで作業する必要があります。

これについて最善の方法は何ですか?

4

2 に答える 2

4

INSERT の代わりに MERGE ステートメントを使用します。

于 2012-06-13T20:36:48.200 に答える
0

マージ ステートメントを使用します。

MERGE INTO <<your table>> t
   USING (<<your list of records - can be the result of a SELECT >>)
   ON ( <<join between table and list of records >>)
WHEN MATCHED THEN
  UPDATE SET << the rows you want to set>>
WHEN NOT MATCHED THEN
  INSERT (<<columns of table>>)
  VALUES (<<value>>)

https://oracle-base.com/articles/9i/merge-statement

于 2016-04-05T14:36:25.740 に答える