为什么存储函数中不允许使用动态SQL?

时间:2017-01-24 23:39:00

标签: mysql dynamic-sql database-trigger stored-functions

关于Dynamic SQL not allowed in stored functions or triggers错误消息,网上其他地方的SO和主题有很多问题。我明白了:不允许,没有解决方法,没有解决方案 - 迷路了。

我感兴趣的是其原因。他们为什么不被允许?

1 个答案:

答案 0 :(得分:0)

由于局部变量仅在存储程序执行期间在范围内,因此在存储程序中创建的预准备语句中不允许引用它们。

预准备语句范围是当前会话,而不是存储程序,因此语句可以在程序结束后执行,此时变量将不再在范围内。