[pgsql-jp: 25097] Re: TRIGGER 作成でエラー
Tsukasa Koizumi
tsukasa @ koiz.com
2002年 3月 6日 (水) 15:19:00 JST
小泉です。
レスポンスありがとうございます。
At 14:10 02/03/06 +0900, you wrote:
>パラメータなしの関数にしたら動作はかわりませんかねえ
>
>REATE FUNCTION calc_i_status2 ()
>RETURNS bool AS
>'
>元のSQLより$1を new.item に変える
>'
>LANGUAGE 'sql';
やってみたのですが、この時点でエラーになります。
ERROR: NEW used in non-rule query
おそらく、どのテーブルのnew.itemなのかを指定しなければならないのだろう
とと思うのですが、「new.item」という書き方は初めてで、ちょっとよくわ
からない状態です。
(new.saledetails.item ともしてみましたが、同じでした……)
#non-ruleということは、create ruleしなければいけない?
>CREATE TRIGGER trig_calc_i_status2
>AFTER INSERT ON saledetails FOR EACH ROW
>EXECUTE PROCEDURE calc_i_status2 ();
「new.item」というのは、新たにinsertされた行のカラム「item」の値、
と考えてよろしいですよね?
このトリガーは、updateやdeleteでも動いて貰わねばならないのですが、
new.item でも大丈夫なのでしょうか?
----------------------------------------------------------------------
小泉 司@コイズコム デジタルワークス(東京都文京区)
Desk - mailto:tsukasa @ koiz.com / Mobile - mailto:pigtail @ pdx.ne.jp
PGP Public Key - http://www.koiz.com/~tsukasa/PGP_KEY/tsukasa.asc
----------------------------------------------------------------------
pgsql-jp メーリングリストの案内