您同时提到了运行SQL脚本实用程序和RPG。
您基本上在两个地方都有两个选择。
with
子句添加到各个语句以覆盖默认值。对于SQLRPGLE,可以设置默认值
COMMIT()
命令的CRTSQLRPGI
参数SET OPION
SQL语句SET OPTION
是首选,除非您的CMS可以确保始终正确发出CRTSQLRPGI命令。
exec SQL
set option commit = *CHG;
请注意,SET OPTION
语句是编译时而不是运行时语句。它必须是SQLRPGLE模块中物理上第一个SQL语句。您只能拥有一个,并且对整个模块有效。
不管有效的默认隔离/承诺级别。您可以使用WITH
子句设置给定语句的级别。
update mytable
set mycolumn = 1
with chg;
最后,请注意,为了使用承诺控制,您的表必须被记录在日志中。
请参见compound (dynamic)语句
请注意,您将需要在SQL编辑器中使用;
以外的语句终止符。 @
是常用的。同样,如果您使用IBM Data Studio,您将获得本地语法分析,这将帮助您发现代码中的任何语法错误。