首页 > 解决方案 > 带有动态查询的 MySQL 存储过程

问题描述

我知道 MySQL 触发器不支持动态查询。我尝试使用一些动态查询(使用 PREPARE 和 EXECUTE)创建存储过程,然后从触发器中调用它,但它不起作用。它引发了相同的错误,即“存储函数或触发器中不允许使用动态 SQL”,即使我在过程中而不是触发器中有动态查询。

这可能是 MySQL(v5.7) 的一种行为,但我在文档中找不到任何关于此限制的内容,它仅提及触发器和函数。

如果这确实是 MySQL 的故意行为,那么有没有办法解决它?

我的要求是,我想在插入后将一些行从表中复制到其他表中,具体取决于某些条件。这个其他表名将是动态的。

我搜索但找不到任何可以解决我的问题的东西。

标签: mysqlsqlstored-procedures

解决方案


推荐阅读