20

更新に特定の列への変更が含まれている場合、postresql で特定のレコードの更新を制限/防止することは可能ですか?

これはどのように実装されますか。トリガー/制約?これを実装する最も効率的な方法は何でしょうか?

バージョン 9.1 を使用しています

4

2 に答える 2

28

最も簡単な方法は、行の変更が禁止されている場合に行を BEFORE UPDATE比較するトリガーを作成することです。OLDNEWRAISE EXCEPTION

于 2013-03-14T14:21:24.703 に答える
7

いいえ、しかし、書くのはかなり簡単なはずです。BEFORE UPDATE古いフィールドと新しいフィールドを比較し、RAISE ERRORそれらが異なる場合に実行するトリガーを設定するだけです。pgSQL ドキュメントには、トリガー関数の書き方の例がいくつかあります。

于 2013-03-14T14:21:59.777 に答える