回答

收藏

创建或更换触发器postgres

技术问答 技术问答 167 人阅读 | 0 人回复 | 2023-09-14

我想创建或替换 postgres表的触发器。但是,没有这样的触发器。sql表达式。2 b  a* D% c" n3 M$ K* u
我可以先做一个 DROP TRIGGER IFEXISTS”(http://www.postgresql.org/docs/9.5/static/sql-* E  j0 a/ n& |- r' f  S
droptrigger.html)。1 H( d0 m3 K& Q' O. A: M" d
我的问题是:$ x  [7 x& v7 i+ f
[ol]是否有比(DROP CREATE推荐/更好地选择触发器)8 ?! E, H0 b5 Z1 y4 z3 g  ]! I
为什么没有这样的创建或替换触发器(这可能意味着我不应该这样做)[/ol]请注意,Create or ReplaceTrigger在oracle(https://docs.oracle.com/cd/B19306_01/appdev.102/b14251/adfns_triggers.htm)中有一个“0 o  h- q3 k; \/ g) M# ]
[ol]这样的命令计划用于吗?Postgres?[/ol]                                                                2 ?5 |6 y  b: h3 K# w$ Y
    解决方案:                                                                ' W! J5 M* ~) P8 z6 |  g  ~
                                                                PostgreSQL有事务DDL,所以BEGIN > DROP > CREATE > COMMIT等价于CREATE OR REPLACE
" _" j2 d' ^+ a# L这是一篇有关postgre的事务性DDL与其他系统(例如oracle)比较好的文章。3 S1 A0 n& p3 W# {( ?% h# r
目前触发器postgres不包括添加计划功能REPLACE语法。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则