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.
如果更新包括对特定列的更改,是否可以让 postresql 限制/阻止对特定记录的更新?
这将如何实施。触发器/约束?实现这一点的最有效方法是什么?
我使用的是 9.1 版
最简单的方法是创建BEFORE UPDATE将比较OLD和NEW行 的触发器,RAISE EXCEPTION如果禁止更改行。
BEFORE UPDATE
OLD
NEW
RAISE EXCEPTION
不,但写起来应该很简单。只需设置一个BEFORE UPDATE触发器,将旧字段与新字段进行比较,并RAISE ERROR在它们不同时执行。pgSQL 文档有一些关于如何编写触发器函数的示例。
RAISE ERROR