相关疑难解决方法(0)

为什么我不能在动态SQL中的DDL/SCL语句中使用绑定变量?

我试图在动态SQL中使用绑定变量执行SQL命令:

-- this procedure is a part of PL/SQL package Test_Pkg
PROCEDURE Set_Nls_Calendar(calendar_ IN VARCHAR2)
IS
BEGIN
   EXECUTE IMMEDIATE
      'ALTER SESSION
      SET NLS_CALENDAR = :cal'
      USING IN calendar_;
END Set_Nls_Calendar;
Run Code Online (Sandbox Code Playgroud)

然后在客户端,我试图调用该过程:

Test_Pkg.Set_Nls_Calendar('Thai Buddha');
Run Code Online (Sandbox Code Playgroud)

但这就是我ORA-02248: invalid option for ALTER SESSION.

我的问题是:为什么我不能在动态SQL中的DDL/SCL语句中使用绑定变量?

oracle plsql dynamic-sql execute-immediate

14
推荐指数
1
解决办法
1万
查看次数

标签 统计

dynamic-sql ×1

execute-immediate ×1

oracle ×1

plsql ×1