• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ORACLEのトリガーについて勉強しているのですが現在詰っています。)

ORACLEのトリガーについての勉強で詰まっています

このQ&Aのポイント
  • ORACLEのトリガーについて勉強している中で、特にINSERT文に関するトリガーの作成方法に詰まっています。
  • トリガーを使用して、table1のレコードがUPDATEかINSERTかDELETEされた場合に、そのレコードをtable2にINSERTする方法を理解したいです。
  • トリガーのコードの中で、INSERT文の実行部分を正確に記述する方法がわからず、どのように書くべきか悩んでいます。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

トリガーでログ出力機能を用意しても、本体でエラーが発生すると、 ログ出力内容までロールバックされますが、それでいいのですか? (自律トランザクション書けば、ログをロールバックしないように出来ますが・・) ご質問のトリガーでのINSERT文ですが・・ INSERT文の構文自体は、普通のINSERT文です。 ただ、トリガーを仕込んだテーブルの新旧の値は、:new.xxxや、:old.xxxのような表現で扱えるので、 insert into table2 (col1,col2) values(:new.colA,:new.colB); のような書き方になります。

rizaruto
質問者

お礼

回答ありがとうございます。 おかげで悩みが解決しました。 エラーが発生した場合はログ出力はロールバックされたほうがいいので 今回は自律トランザクションを使わないことにします。 ありがとうございました。

関連するQ&A