相关疑难解决方法(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万
查看次数

Oracle 10中的本地临时表(针对存储过程的范围)

我是oracle的新手.我需要在存储过程中处理大量数据.我正在考虑使用临时表.我正在使用连接池,应用程序是多线程的.

有没有办法以每次调用存储过程创建不同表实例的方式创建临时表,以便来自多个存储过程调用的数据不会混淆?

sql database oracle stored-procedures temp-tables

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