IBM db2,SQL脚本中的事务

问题描述 投票:0回答:2

我正在寻找一个选项来处理IBM SQL-Scripts程序中的事务。为了进行比较,我在正在谈论的SQL脚本程序上添加了一张图片。

enter image description here

此外,我还想使用RPG(免费)以编程方式实现这些交易。看起来如何?

transactions db2 ibm-midrange
2个回答
1
投票

您同时提到了运行SQL脚本实用程序和RPG。

您基本上在两个地方都有两个选择。

  1. 更改默认隔离级别
  2. with子句添加到各个语句以覆盖默认值。

对于运行SQL脚本,默认设置是在JDBC连接中配置的。enter image description here

对于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;

最后,请注意,为了使用承诺控制,您的表必须被记录在日志中。


0
投票

请参见compound (dynamic)语句

请注意,您将需要在SQL编辑器中使用;以外的语句终止符。 @是常用的。同样,如果您使用IBM Data Studio,您将获得本地语法分析,这将帮助您发现代码中的任何语法错误。

© www.soinside.com 2019 - 2024. All rights reserved.