【问题标题】:Why is dynamic SQL not allowed in stored functions?为什么存储函数中不允许使用动态 SQL?
【发布时间】:2017-01-24 23:38:59
【问题描述】:

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

我感兴趣的是这个原因。为什么不允许?

【问题讨论】:

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


    【解决方案1】:

    因为局部变量仅在存储程序执行期间才在作用域内,所以在存储程序中创建的准备好的语句中不允许引用它们。

    Prepared statement 作用域是当前会话,而不是存储的程序,所以语句可以在程序结束后执行,此时变量将不再在作用域内。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-21
      • 1970-01-01
      • 2020-07-07
      • 2017-05-27
      • 2011-01-28
      • 1970-01-01
      • 2017-12-29
      相关资源
      最近更新 更多