【问题标题】:Error SQL7008 while running an Update and/or Delete from a StoredProcedure从 StoredProcedure 运行更新和/或删除时出错 SQL7008
【发布时间】:2015-02-19 15:11:47
【问题描述】:

我正在使用 DB2 数据库。 我了解当我尝试更新的表没有被记录并且更新正在事务中运行时,会发生此错误。 我无法修改整个数据库,但我可以修改我尝试更新/删除的表和我的 StoredProcedure,所以我正在寻找可以在我的 storedProcedure 或表上实施的解决方案。

【问题讨论】:

    标签: sql stored-procedures db2


    【解决方案1】:

    要么记录表,要么关闭事务

    • 连接(例如在 Java 中)

      jdbc:as400://systemname;naming=sql;errors=full;transaction isolation=none;date format=iso

    • 存储过程

      SET OPTION COMMIT=*NONE;

    • 声明

      更新我的表 SET MYFLD = '嗨' 带数控;

    【讨论】:

    • SET OPTION 将应用于整个过程,并且需要在 DELETE 语句之外完成。如果您只想更改语句,请使用WITH NC
    • 当我尝试在 Delete 语句中使用 SET OPTION COMMIT=*NONE 时,它似乎会跳过 where,它会删除所有内容,当我尝试使用 WITH NCWITH NONE 时也会发生同样的情况
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-08
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多