【问题标题】:Does an update statement in update trigger, fire trigger again?更新触发器中的更新语句是否再次触发触发器?
【发布时间】:2013-09-09 02:59:54
【问题描述】:

如果我在更新触发器中使用更新语句,更新触发器中的更新语句会导致触发触发器吗?

【问题讨论】:

    标签: sql sql-server triggers


    【解决方案1】:

    确保RECURSIVE_TRIGGERS 的数据库属性设置为关闭(无论如何都是默认设置),这样它就不会被递归触发。

    http://technet.microsoft.com/en-us/library/ms190946.aspx

    【讨论】:

    • 谢谢它帮了很多忙。
    • select is_recursive_triggers_on from sys.databases where name = '...DBName'; 如果有人正在寻找。
    【解决方案2】:

    默认情况下,触发器不会自行触发。

    【讨论】:

    • 谢谢它帮了很多忙。
    【解决方案3】:

    使用,WHEN (pg_trigger_depth()

    CREATE TRIGGER trigger_name
    after insert or update
    ON [TABLE] FOR EACH ROW
    WHEN (pg_trigger_depth() < 1)
    EXECUTE PROCEDURE public.proc_name();
    

    【讨论】:

    • 问题是关于 Sql Server 的,所以请明确指出这是针对 PostgreSQL 的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-23
    • 2012-02-11
    • 2021-03-08
    • 1970-01-01
    • 1970-01-01
    • 2016-11-03
    相关资源
    最近更新 更多