回答

收藏

创建或更换触发器postgres

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

我想创建或替换 postgres表的触发器。但是,没有这样的触发器。sql表达式。$ N( l3 c/ j3 G/ U' D- {
我可以先做一个 DROP TRIGGER IFEXISTS”(http://www.postgresql.org/docs/9.5/static/sql-
& t9 V, [# r' Kdroptrigger.html)。
( b' p8 J  s/ w9 T我的问题是:( m- d: L  P- y: u( O% c6 l
[ol]是否有比(DROP CREATE推荐/更好地选择触发器)
/ d( t0 p1 e1 R  r: o  I* _; b为什么没有这样的创建或替换触发器(这可能意味着我不应该这样做)[/ol]请注意,Create or ReplaceTrigger在oracle(https://docs.oracle.com/cd/B19306_01/appdev.102/b14251/adfns_triggers.htm)中有一个“
' o8 e2 q! Z, `* X% S+ q) h[ol]这样的命令计划用于吗?Postgres?[/ol]                                                                % {6 `% y4 _$ L5 o. u
    解决方案:                                                               
! ?" o% N* v9 b. p+ H. M, S                                                                PostgreSQL有事务DDL,所以BEGIN > DROP > CREATE > COMMIT等价于CREATE OR REPLACE" c% m. @& h+ s; m% w! x, T  `
这是一篇有关postgre的事务性DDL与其他系统(例如oracle)比较好的文章。
' D' X9 h0 a2 D5 u; T目前触发器postgres不包括添加计划功能REPLACE语法。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则