SMW*_*SMW 4 sql postgresql ddl triggers
我在Postgres 9.3数据库中有一个触发器,其定义如下:
CREATE TRIGGER trig
AFTER UPDATE OR DELETE
ON tab2
FOR EACH ROW
EXECUTE PROCEDURE proc3();
Run Code Online (Sandbox Code Playgroud)
我想将触发器更改为:
AFTER INSERT OR UPDATE OR DELETE
Run Code Online (Sandbox Code Playgroud)
手册上ALTER TRIGGER没有说明如何做。
我想更改触发器而不丢弃它。那可能吗?
抱歉,无法以这种方式更改触发器。触发器不存在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;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1988 次 |
| 最近记录: |