未提交的sql语句会发生什么?

我在做一个声明,要求我执行一个包,执行sql然后提交。未提交的sql语句会发生什么?

SQL的执行是决定它是否成功,并且我正在检查受影响的sql代码行的编号。如果它的任何东西,但1提交(一个单独的命令)永远不会运行。

其他两个命令会发生什么,就像我说过的,我在执行一个包的时候执行了一个命令,sql本身在两个命令中?

回答:

如果没有COMMITROLLBACK语句,则会话结束时会回滚工作。

一些详细的解释,你会发现在Transation Management Doc

UPDATE APC是正确的,DOC是更具体的比我:

任何时候发生以下事务结束:

用户发出没有SAVEPOINT 子句的COMMIT或ROLLBACK语句。

用户运行DDL语句,如CREATE,DROP,RENAME或ALTER。如果 当前事务包含任何DML语句,则Oracle Database 首先提交该事务,然后运行并提交DDL 语句作为新的单一语句事务。

用户从Oracle数据库断开连接。目前的交易是承诺的 。

用户进程异常终止。当前交易回滚为 。

注意:应用程序应该总是在程序终止之前显式提交或撤销事务。

所以,我没有真正回答你的问题。这取决于你的连接器在退色时所做的事情。

以上是 未提交的sql语句会发生什么? 的全部内容, 来源链接: utcz.com/qa/259191.html

回到顶部