2

基本的な疑問があります.ビューを新しいテーブルtriggerに変更するために使用できますか?insert

create or replace trigger iam_insert
  instead of insert on test123
  FOR EACH ROW

BEGIN

  if inserting then

.
.
.
  end if;

end;

よろしく

4

2 に答える 2

3

はい、それがINSTEAD OFビューのトリガーのポイントです。INSERT複雑なビューに対する を、ベース テーブル (またはビューが参照さえしないテーブル) に対する任意の種類の DML 操作に 変換できます。

INSTEAD OFただし、一般的に、トリガーが本当に適切な状況に遭遇することはほとんどありません。それらは確かに存在しますが、それはまれです。ビューへの挿入を許可して、ビューのベース テーブルにデータを挿入しようとしている場合は、ビュー自体がキー保存されていることを確認できないため、ビューに対して DML を実行できます。トリガーを定義する必要はありません。

于 2012-05-29T15:56:43.953 に答える
2

はい、INSTEAD OF トリガーはこのために設計されています。ビューで INSTEAD OF トリガーを定義してからビューでデータ操作 (INSERT など) を実行すると、操作の代わりにトリガーが実行されることに注意してください。Oracle は、トリガーがない場合のようにデータを自動的に挿入しません。これはユーザーの責任です。

于 2012-05-29T17:01:27.737 に答える