多くの列を持つテーブルがあり、そのうちの 1 つはlastUpdate
列です。Postgres 9.1 の plpgsql でトリガーを作成しています。これlasUpdate
は、UPDATE 時に値をレコードに設定する必要があります。
課題は、そのトリガーからいくつかの事前定義された列を除外することです。つまり、これらの特定の列を更新してlastUpdate
も、レコードの値には影響しません。
何かアドバイスはありますか?
多くの列を持つテーブルがあり、そのうちの 1 つはlastUpdate
列です。Postgres 9.1 の plpgsql でトリガーを作成しています。これlasUpdate
は、UPDATE 時に値をレコードに設定する必要があります。
課題は、そのトリガーからいくつかの事前定義された列を除外することです。つまり、これらの特定の列を更新してlastUpdate
も、レコードの値には影響しません。
何かアドバイスはありますか?
In PostgreSQL you can access the previous value using OLD. and the new ones using NEW. aliases. There is even a specific example in the docs for what you need:
CREATE TRIGGER check_update
BEFORE UPDATE ON accounts
FOR EACH ROW
WHEN (OLD.balance IS DISTINCT FROM NEW.balance)
EXECUTE PROCEDURE check_account_update();