Вы упоминаете как утилиту Run SQL Scripts, так и RPG.
У вас есть два варианта в любом месте.
- Изменение уровня изоляции по умолчанию
- Добавьте предложение
with
к отдельным операторам, чтобы переопределить значение по умолчанию.
Для сценариев запуска SQL по умолчанию в соединении JDBC настроено значение по умолчанию.
Для SQLRPGLE по умолчанию может быть установлено
- Во время компиляции с помощью параметра
COMMIT()
команды CRTSQLRPGI
- с помощью оператора
SET OPION
SQL в вашем источнике
SET OPTION
предпочтительнее, если только у вас нет CMS, которая может гарантировать, что команда CRTSQLRPGI всегда выполняется правильно.
exec SQL
set option commit = *CHG;
Обратите внимание, что оператор SET OPTION
является оператором времени компиляции, а не времени выполнения. Это должен быть физически первый оператор SQL в вашем модуле SQLRPGLE. У вас может быть только один, и он действует для всего модуля.
Независимо от используемого уровня изоляции / уровня обязательств по умолчанию. Вы можете установить уровень для данного оператора, используя предложение WITH
.
update mytable
set mycolumn = 1
with chg;
Наконец, обратите внимание, что для использования контроля обязательств ваша таблица должна быть занесена в журнал.