![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
ORACLEのトリガーについて勉強しているのですが現在詰っています。
トリガーの内容ですが、table1のレコードがUPDATEかINSERTかDELETEが
実行された時にtable2にそのレコードすべてをINSERTしたいのですが
CREATE OR REPLACE TRIGGER test_trg
After INSERT or UPDATE or DELETE on table1 for each row
BEGIN
if inserting then
insert into (?);
elsif updating then
insert into (?);
else
insert into (?);
end if;
END;
tableを使ってログを残せるようにするためこのトリガーを作ろうとしています。
この様な感じになると思っているのですが、(?)の部分をどう書けばいいのか
がよくわかりません。どうしても解らないので教えていただければ幸いです。
何卒よろしくお願いします。
No.1ベストアンサー
- 回答日時:
トリガーでログ出力機能を用意しても、本体でエラーが発生すると、
ログ出力内容までロールバックされますが、それでいいのですか?
(自律トランザクション書けば、ログをロールバックしないように出来ますが・・)
ご質問のトリガーでのINSERT文ですが・・
INSERT文の構文自体は、普通のINSERT文です。
ただ、トリガーを仕込んだテーブルの新旧の値は、:new.xxxや、:old.xxxのような表現で扱えるので、
insert into table2 (col1,col2) values(:new.colA,:new.colB);
のような書き方になります。
回答ありがとうございます。
おかげで悩みが解決しました。
エラーが発生した場合はログ出力はロールバックされたほうがいいので
今回は自律トランザクションを使わないことにします。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php エラー 2 2022/10/23 16:43
- PHP php エラー 3 2022/11/18 23:32
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- Access(アクセス) access,vbaでフォルダ内のファイルをテーブルにインポート、ファイル名もフィールドに追加したい 1 2022/08/31 11:11
- PHP プログラムコードを入力する場合改行してもいいですか? 2 2022/10/02 16:05
- MySQL 下の画像はSQLの4大命令の性質をまとめたものであるらしいです UPDATE INSERT DELE 1 2023/06/07 15:36
- Excel(エクセル) EXCEL マクロで行を挿入して貼り付けようとするとエラーになる。 2 2022/05/24 09:43
- Excel(エクセル) マクロで列を加えたら上手くいかなくなりました。 2 2022/05/23 17:59
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
単一グループのグループ関数で...
-
AccessのSQL文で1件のみヒット...
-
【PL/SQL】FROM区に変数を使う方法
-
where句中のtrim関数について
-
SQL*Loader Append
-
トランザクションログを出力せ...
-
1レコード全てを改行なしで表...
-
group byの並び順を変えるだけ...
-
アクセスのレポートでレコード...
-
updateで複数行更新したい
-
引数によってwhere句を切り替え...
-
重複データを除外するSQL文の作...
-
グループ関数の結果について
-
SQLで条件にヒットしたレコード...
-
レコードの更新履歴について
-
MERGE文について
-
大量レコードをTRUNCATEせずに...
-
負荷試験の後重くなります。。。
-
「数字で始まらない」ものを抽...
-
BLOB型項目をSQLの検索条件に指...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
単一グループのグループ関数で...
-
【PL/SQL】FROM区に変数を使う方法
-
AccessのSQL文で1件のみヒット...
-
SELECT FOR UPDATE で該当レコ...
-
where句中のtrim関数について
-
group byの並び順を変えるだけ...
-
アクセスのレポートでレコード...
-
SQLで条件にヒットしたレコード...
-
ORMについて
-
トランザクションログを出力せ...
-
データ
-
SQL*Loader Append
-
「数字で始まらない」ものを抽...
-
引数によってwhere句を切り替え...
-
BLOB型項目をSQLの検索条件に指...
-
osqleditについて
-
ACCESS レコードの並び順について
-
大量レコードをTRUNCATEせずに...
-
【SQL】違うフィールド同士の集...
-
updateで複数行更新したい
おすすめ情報