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

如何防止删除表中的第一行(PostgreSQL)?

发布时间:2020-12-13 16:29:41 所属栏目:百科 来源:网络整理
导读:是否可以防止在PostgreSQL端删除表中的第一行? 我有一个类别表,我想阻止删除默认类别,因为它可能会破坏应用程序.当然,我可以在应用程序代码中轻松完成,但在数据库中执行它会好得多. 我认为这与删除语句的规则有关,但我在文档中找不到任何与我的问题有关的东
是否可以防止在PostgreSQL端删除表中的第一行?

我有一个类别表,我想阻止删除默认类别,因为它可能会破坏应用程序.当然,我可以在应用程序代码中轻松完成,但在数据库中执行它会好得多.

我认为这与删除语句的规则有关,但我在文档中找不到任何与我的问题有关的东西.

我认为实现此目的的最佳方法是在此表上创建删除触发器.基本上,您必须编写存储过程以确保此“默认”类别始终存在,然后使用此表上的触发器ON DELETE事件强制执行该类别.执行此操作的一种好方法是创建每行触发器,以确保在DELETE事件上永远不会删除“默认”类别行.

请查看PostgreSQL关于触发器和存储过程的文档:

http://www.postgresql.org/docs/8.3/interactive/trigger-definition.html

http://www.postgresql.org/docs/8.3/interactive/plpgsql.html

这个wiki中还有一些有价值的例子:

http://wiki.postgresql.org/wiki/A_Brief_Real-world_Trigger_Example

(编辑:李大同)

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

    推荐文章
      热点阅读