postgresql - postgres触发器创建

标签 postgresql triggers

如果触发器不存在,我该如何创建触发器?

当我创建或替换时,出现语法错误,因此我正在寻找一种方法来测试是否存在触发器。

我总是可以从 pg_trigger 中选择 *,但我确信有更合适的方法。

谢谢

最佳答案

Postgres 可以有条件地删除触发器 - 参见 the docs . 创建触发器之前执行此操作,然后它将始终有效。

DROP TRIGGER IF EXISTS mytrigger ON mytable;

正如 Jack 在评论中指出的那样,此功能仅在 8.2 之后可用;虽然它已经推出四年多了,所以它应该在您的版本中可用。

关于postgresql - postgres触发器创建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4394056/

相关文章:

php - 将带有日期和时间的 php 字符串转换为 sql 时间戳

postgresql - 存储过程给出错误 : query has no destination for result data

sql-server - 如何获得两个日期之间的天/月/年(datediff)差异?

mysql - 我如何从另一台服务器的另一个数据库中获取数据?

mysql - hibernate 触发器生成的 ID 问题 (MySQL)

tsql - PostgreSQL DB 的 Lazarus Pascal TSQLQuery 参数类型

postgresql - 将 byte[] PBEKeySpec 存储到 openshift 齿轮表现不同?

php - 如何在mysql,php中的单个查询中将任何列值设置为与自动递增id值相同

wpf - 如何在多数据触发器中进行比较

mysql - 使用自动增量字段插入触发器之前/之后