我正在将我的数据从 SQLSERVER
迁移到 MySQL
。我在为 TRIGGER_NESTLEVEL()
寻找替代函数时遇到了一些麻烦。
什么是 TRIGGER_NESTLEVEL()
SQLSERVER
函数在 MySQL
中的等价物
(递归结束时触发)。如果没有,我如何检测递归是否以另一种方式结束?
这是我的查询:
ALTER TRIGGER [dbo].[TGR_UPD_NAME]
ON [dbo].[TBL_MS_NAME] FOR UPDATE,INSERT
AS
BEGIN
IF ((SELECT TRIGGER_NESTLEVEL()) > 1 )
RETURN
/* SOME UPDATE QUERY */
END
最佳答案
MySql 不做递归。期间。
来自 docs :
- Stored functions cannot be used recursively.
- Within a stored function or trigger, it is not permitted to modify a table that is already being used (for reading or writing) by the statement that invoked the function or trigger.
关于MySQL 相当于 MS SQL 的 TRIGGER_NESTLEVEL()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32263111/