【发布时间】:2017-01-24 23:38:59
【问题描述】:
关于 SO 和网络上其他地方的线程有很多关于 Dynamic SQL not allowed in stored functions or triggers 错误消息的问题。我明白了:不允许,没有解决方法,没有解决方案 - 迷路了。
我感兴趣的是这个原因。为什么不允许?
【问题讨论】:
标签: mysql dynamic-sql database-trigger stored-functions
关于 SO 和网络上其他地方的线程有很多关于 Dynamic SQL not allowed in stored functions or triggers 错误消息的问题。我明白了:不允许,没有解决方法,没有解决方案 - 迷路了。
我感兴趣的是这个原因。为什么不允许?
【问题讨论】:
标签: mysql dynamic-sql database-trigger stored-functions
因为局部变量仅在存储程序执行期间才在作用域内,所以在存储程序中创建的准备好的语句中不允许引用它们。
Prepared statement 作用域是当前会话,而不是存储的程序,所以语句可以在程序结束后执行,此时变量将不再在作用域内。
【讨论】: