Я пытаюсь изменить сеанс в блоке PL/SQL с помощью динамического 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 предотвращать изменение сессий после того, как с помощью начать заявление?
[ 'совершенного' имеет два «т-х] (http://docs.oracle.com/database/121/SQLRF/statements_2015.htm#SQLRF53047). Вероятно, вы также захотите удалить точку с запятой с конца динамического оператора. –
Я попробовал это, и я получаю следующее: ORA-06550: строка 3, столбец 1: PLS-00103: встречается символ «ОБНОВЛЕНИЕ» при ожидании одного из следующих: * & = - +;> at in is mod остаток не возвращается – TechNerd
Неверный; Я имел в виду точку с запятой * внутри * динамическую инструкцию, так как обычно это приводит к ошибке ORA-00911: 'EXECUTE IMMEDIATE 'ALTER SESSION SET ISOLATION_LEVEL = READ COMMITTED';' –