Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
トリガー関数内のINSERT中に、変更された列の名前を取得する方法を探していました。トリガープロシージャTG_TABLE_NAMEを使用してテーブルを変更できますが、変更された列に類似したものはありますか?
TG_TABLE_NAMEいいえ、列名に相当するものはありません。トリガー内のoldとnewレコードを比較する必要があります。UPDATE
TG_TABLE_NAME
old
new
UPDATE
トリガーの場合INSERT、「変更された」列名の概念は意味がありません。デフォルト値になっていない列を意味しますか?
INSERT
とにかく、あなたはNEWと(それが適用される場合)OLDの記録を調べる必要があります。これを動的に行うのは難しい場合があります。hstore拡張機能は、未知の行セットの列間での比較や反復を行うことができるため、多くの場合、最も便利なツールです。
NEW
OLD
hstore