- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:トリガープロシージャのNEW変数について)
トリガープロシージャのNEW変数とは?NEW変数の指定方法について教えてください。
このQ&Aのポイント
- トリガープロシージャのNEW変数を使用することで、トリガを実行した際の更新データの値を取得することができます。
- NEW変数の指定方法は、NEW.[フィールド名]とします。ただし、function内で取得した項目名を指定する場合は、NEW.[フィールド名]ではなく、NEW.フィールド名と指定します。
- ループ処理を使用してテーブル内の項目を取得し、取得した項目の値を別のテーブルに挿入する場合、指定するフィールド名はNEW.フィールド名とします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
NEWに対して動くか試していないので分かりませんけれど 動的にテーブルやカラム名を指定するときは SQL文を文字列の結合||で作って、EXECUTEします。 こんな感じではないでしょうか。 EXECUTE 'INSERT INTO "テーブル名2" VALUES(NEW.' || rec.attname ')'; 動いたら是非教えてください(^^)
その他の回答 (1)
- SaKaKashi
- ベストアンサー率24% (755/3136)
回答No.1
トリガー内でNEWとかOLDが使えるのは、トリガーの元表やViewの項目に対してですけど。
質問者
お礼
そうなんですね。 全然無知ですみません。 回答有難うございます。
お礼
なるほどー。 明日になりますが、ためしてみます! ありがとうございます。 結果わかったら教えます!