PostgreSQL中的ALTER TRIGGER命令

我在Postgres 9.3数据库中有一个触发器,其定义如下:

CREATE TRIGGER trig
  AFTER UPDATE OR DELETE
  ON tab2
  FOR EACH ROW
  EXECUTE PROCEDURE proc3();

我想将触发器更改为:

AFTER INSERT OR UPDATE OR DELETE

The manual on ALTER TRIGGER没有说明如何执行.

我想更改触发器而不丢弃它.那可能吗?

最佳答案
抱歉,无法以这种方式更改触发器.对于triggers,不存在OR REPLACE子句.但这很少出现问题,因为在Postgresql中,DDL语句可以包装在事务中.

BEGIN;
DROP TRIGGER IF EXISTS trig on tab2;
CREATE TRIGGER trig
  AFTER INSERT OR UPDATE OR DELETE
  ON tab2
  FOR EACH ROW
  EXECUTE PROCEDURE proc3();

COMMIT;

转载注明原文:PostgreSQL中的ALTER TRIGGER命令 - 代码日志