【问题标题】:Run SQL script in one transaction with SQLPlus使用 SQLPlus 在一个事务中运行 SQL 脚本
【发布时间】:2014-05-15 11:53:49
【问题描述】:

SQLPlus 有没有办法在一个事务中处理所有命令?

我有一个 sql 文件:

SET AUTOCOMMIT OFF

insert... ;
insert... ;
update... ;

commit;
exit;

问题只是更新命令被更新,两个插入都以某种方式回滚。我认为这是因为分号终止了事务,并且没有自动提交,它会被回滚。如何在 SQLPlus 中在一个事务中运行所有内容?

【问题讨论】:

  • 正如您显示的那样,它是 1 笔交易。分号表示语句的结束,因此 SQLplus 在读取分号后知道该语句可以执行。
  • 分号不会“终止事务”。它标志着语句的结束。

标签: sql oracle transactions sqlplus


【解决方案1】:

我通过将所有内容都包含在

中来修复它
BEGIN ... END; / EXIT; 

仍然不知道为什么原来的不起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-03
    • 2011-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多