加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – 触发器与检查约束

发布时间:2020-12-13 16:30:11 所属栏目:百科 来源:网络整理
导读:我想在表上添加字段级验证.有一个名为“account_number”的字段,该字段应始终通过“luhn”检查.我发现了一个名为“luhn_verify”的功能似乎正常工作(如果你感兴趣的话可以谷歌).它返回一个布尔值.我的问题是: 在PostgreSQL中使用触发器进行此验证与检查约束
我想在表上添加字段级验证.有一个名为“account_number”的字段,该字段应始终通过“luhn”检查.我发现了一个名为“luhn_verify”的功能似乎正常工作(如果你感兴趣的话可以谷歌).它返回一个布尔值.我的问题是:

在PostgreSQL中使用触发器进行此验证与检查约束是否有任何主要的性能优势.

附加信息:

> PostgreSQL 9.1
> Table目前没有插入触发器,但确实有更新.

免责声明:

我觉得这可能已经得到了解答,但我似乎找不到明确的答案.如果是,请标记为重复并参考原始问题/答案.

可能是dba板的更好问题.

经验法则是在使用触发器之前使用CHECK约束.

A CHECK constraint更快,更简单,更便携,需要更少的代码,并且更不容易出错.例如,触发器可以很容易地被其他触发器规避.

Triggers are much more complicated.必要时使用它们,以满足更复杂的要求.

如果CHECK约束对您的情况限制太多或导致重新加载转储时出现问题,则可以使用NOT VALID修饰符作为中间接地(第9.2页).细节:

> Disable all constraints and table checks while restoring a dump

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读