我试图在动态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的新手.我需要在存储过程中处理大量数据.我正在考虑使用临时表.我正在使用连接池,应用程序是多线程的.
有没有办法以每次调用存储过程创建不同表实例的方式创建临时表,以便来自多个存储过程调用的数据不会混淆?