加入收藏 | 设为首页 | 会员中心 | 我要投稿 51站长网 (https://www.51zhanzhang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
站内搜索:
当前位置: 首页 > 站长百科 > 正文

如何在oracle中保存提交语句,直到执行所有脚本

发布时间:2021-01-10 08:31:13 所属栏目:站长百科 来源:网络整理
导读:我有10个脚本,每个脚本都包含它自己的commit语句.我正在使用我的工具同时执行所有脚本,这将要求数据库连接并读取我们的脚本并在我们的数据库中执行. 我需要在所有脚本中保存所有提交语句,如果任何语句中的任何语句失败,它应该回滚所有先前的语句. 解决方法

我有10个脚本,每个脚本都包含它自己的commit语句.我正在使用我的工具同时执行所有脚本,这将要求数据库连接并读取我们的脚本并在我们的数据库中执行.

我需要在所有脚本中保存所有提交语句,如果任何语句中的任何语句失败,它应该回滚所有先前的语句.

解决方法

只需删除你的提交语句.. AND

SET AUTOCOMMIT OFF;
WHENEVER SQLERROR EXIT FAILURE ROLLBACK;

{script 1}
{script 2}
{script 3}
{script 4}
.
.
.
{script 10}

COMMIT;

DDL将在成功时隐含承诺.我们不会为DDL发出提交.您应该有一个On failure脚本来进行手动回滚.

例如:您创建两个表然后进行回滚

WHENEVER SQLERROR CONTINUE; 
DROP TABLE1; 
DROP TABLE2;

(编辑:ASP站长)

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

    相关内容
    未处理完善
      无相关信息
    未处理完善