[英]postgres trigger creation
如果它不存在,我该如何只创建一个触发器?
当我创建或替换时,我得到语法错误,所以我正在寻找一种方法来测试是否存在触发器。
我总是可以从pg_trigger中选择*,但我确信有更合适的方法。
谢谢
Postgres可以有条件地删除触发器 - 请参阅文档 。 在创建触发器之前执行此操作,然后它将始终有效。
DROP TRIGGER IF EXISTS mytrigger ON mytable;
正如杰克在评论中指出的那样,这个功能自8.2以来才可用; 这已经超过四年了,所以它应该在你的版本中可用。
CREATE TRIGGER (NameOfTrigger) AFTER INSERT OR UPDATE ON (NameOfTable)
DROP TRIGGER IF EXISTS (NameOfTrigger) ON (NameOfTable);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.