【问题标题】:DB2 Transactions - Commit everything or rollbackDB2 事务 - 提交所有内容或回滚
【发布时间】:2018-06-27 10:34:47
【问题描述】:

我有一个包含多个插入/更新/删除的 SQL 脚本,我想保证它只有在所有语句都成功运行时才会提交。

我认为数据库的自动提交设置为 True,因为我不是负责管理它的人,所以我无法更改它...

提前致谢!

【问题讨论】:

  • 你的环境是什么,脚本处理器是什么?它是事务级别的设置,可以针对脚本进行更改。
  • 自动提交控制在会话(连接)级别,因此您可以根据自己的要求进行设置。更改此设置的实际方法取决于您的客户。

标签: transactions db2


【解决方案1】:

如果您将 SQL 脚本提交给 Db2 命令行处理器 (db2 clp),那么您可以使用命令行选项来禁用提交,或者您可以在运行中启用或禁用自动提交脚本。

要在 Db2 CLP 命令行上禁用自动提交:使用 db2 +c -stvf scriptfile.sql

在脚本文件中禁用自动提交:

update command options using c off;    --disable autocommit

insert... ;

update ...;

commit;

如果您将脚本提交给不同的处理器,则需要指定您使用的脚本处理器,因为不同的工具有不同的方法来指定这些内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-02
    • 1970-01-01
    • 2012-12-24
    • 2013-11-20
    • 2013-11-22
    相关资源
    最近更新 更多