PL / SQL块中的动态“alter session”失败

时间:2017-02-15 23:10:22

标签: oracle plsql

我试图通过动态SQL改变PL / SQL块中的会话,但它失败了。我使用以下脚本:

BEGIN
EXECUTE IMMEDIATE 'ALTER SESSION SET ISOLATION_LEVEL=READ COMMITED;';
UPDATE Test."column" SET "columnName" = 5 WHERE "columnType" = 606;
end

我得到的错误是:

ORA-00922: missing or invalid option
ORA-06512: at line 2

我不确定我做错了什么,Oracle在使用begin语句后是否阻止更改会话?

1 个答案:

答案 0 :(得分:1)

您错过了COMMITTED中的一个Ts,如果您在尝试执行的动态语句中有分号,则通常会收到ORA-00911无效字符错误。

应该是:

EXECUTE IMMEDIATE 'ALTER SESSION SET ISOLATION_LEVEL=READ COMMITTED';