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