Tag: 执行立即

为什么我不能在dynamicSQL中的DDL / SCL语句中使用绑定variables?

我正在尝试使用绑定variables在dynamicSQL中执行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; 然后在客户端,我试图调用该过程: Test_Pkg.Set_Nls_Calendar('Thai Buddha'); 但是这得到了我ORA-02248: invalid option for ALTER SESSION 。 而我的问题是: 为什么我不能在dynamicSQL中的DDL / SCL语句中使用绑定variables?