2

トリガー関数内のINSERT中に、変更された列の名前を取得する方法を探していました。トリガープロシージャTG_TABLE_NAMEを使用してテーブルを変更できますが、変更された列に類似したものはありますか?

4

1 に答える 1

1

TG_TABLE_NAMEいいえ、列名に相当するものはありません。トリガー内のoldnewレコードを比較する必要があります。UPDATE

トリガーの場合INSERT、「変更された」列名の概念は意味がありません。デフォルト値になっていない列を意味しますか?

とにかく、あなたはNEWと(それが適用される場合)OLDの記録を調べる必要があります。これを動的に行うのは難しい場合があります。hstore拡張機能は、未知の行セットの列間での比較や反復を行うことができるため、多くの場合、最も便利なツールです。

于 2012-10-25T09:28:06.687 に答える