为什么触发器 "instead of delete" 不是递归的?

Why is a trigger "instead of delete" not recursive?

我想知道如何在不调用同一个触发器的情况下在触发器“而不是 DELETE”中执行 DELETE 查询?它是 SQL 功能吗?有人可以解释为什么它会这样吗?

来自docs

If an INSTEAD OF trigger defined on a table runs a statement against the table that would ordinarily fire the INSTEAD OF trigger again, the trigger isn't called recursively. Instead, the statement processes as if the table had no INSTEAD OF trigger and starts the chain of constraint operations and AFTER trigger executions. For example, if a trigger is defined as an INSTEAD OF INSERT trigger for a table. And, the trigger runs an INSERT statement on the same table, the INSERT statement launched by the INSTEAD OF trigger doesn't call the trigger again. The INSERT launched by the trigger starts the process of running constraint actions and firing any AFTER INSERT triggers defined for the table.

它是这样工作的,因为微软就是这样决定的。尽管我无法想象递归对 INSTEAD OF.

有用