[pgsql-jp: 33905] Re: 動かなくなる?

Akinori FUJII showten24 @ yahoo.co.jp
2004年 8月 23日 (月) 09:49:05 JST


CMさんへ
藤井です

> これを入力すると、全てCREATEは通りますが、postmasterがエラーメッセージなし
に
> フリーズしてしまいます。
> 文法的に間違っているのでしょうが、なにがいけないんでしょうか?

sheet_statusテーブルを更新することでトリガ(count_stat)からadd_count()が実行
されと、その中でsheet_statusがUPDATEされることでトリガ(count_stat)からadd_count()
が実行されると、その中でsheet_statusがUPDATEされることでトリガ(count_stat)か
らadd_count()が実行されると、その中でsheet_statusがUPDATEされることでトリガ(count_stat)
からadd_count()が実行されると、・・・・と永遠に続くことになると思います。

トリガで呼び出すFUNCTIONではsheet_statusテーブルを直接更新するのではなく、ト
リガプロシージャが持っているNEW変数を更新するような処理にすればうまくいくと
思います。(うまくいったら、先人の知恵に感謝しましょう♪)

「PostgreSQL プログラマガイド」−「III. 手続き言語」−「19.9. トリガプロシー
ジャ」をご覧になってみてください。




pgsql-jp メーリングリストの案内