MySQL 相当于 MS SQL 的 TRIGGER_NESTLEVEL()?

标签 mysql sql-server mariadb

我正在将我的数据从 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/

相关文章:

mysql - DVWA 1.8 - SQL 注入(inject) - 更改用户密码

mysql - 无法在 codeigniter 中更新动态多条记录

python - pymssql 与 pyodbc 与 adodbapi 与...

sql-server - T-SQL - 是否有一种(免费)方法来比较两个表中的数据?

c# - 如何在 asp 中的搜索表单中防止 SQL 注入(inject)

mysql - 从笔记本电脑连接到在 Debian 7.9 服务器上运行的 MariaDB 时出现问题

mysql - 在 MariaDB 中标准化街道地址的最佳方法

macos - OS X上的mariadb docker容器:无法创建数据库目录

python - ImportError : No module named mysql. 使用 Python2 的连接器

mysql - SQL:使用类似列表的数据在 col 中搜索匹配元素的有效方法