暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 云应用程序中的自动提交( SQL Developer Web和Apex )

askTom 2021-09-06
485

问题描述

嗨。

在Apex或SQL Developer Web中是否有禁用自动提交的方法?

我尝试使用“set autocommit off”,但它不起作用。

select * from t_test
复制

no items to display
复制


insert into t_test values (1,2)
复制

1 row inserted
复制


rollback
复制

select * from t_test
复制


...并显示先前插入的行

请在堆栈溢出中找到我的问题:
https://stackoverflow.com/questions/68930342/dissable-autocommit-in-sql-developer-web-autonomous-database-oracle-cloud?noredirect=1#comment121820595_68930342

谢谢

专家解答

APEX和SQL开发Web是*无状态的* ,即在调用之间,不知道(状态)上一次调用,因此打开的事务不能保持打开状态...在APEX的情况下,下一次调用所需的所有内容(项目的值等)将存储在数据库中,然后在下一次调用中检索。每个呼叫可以是不同的会话,即

-你向我们发送请求
-我们分配一个会议来完成你的工作
-我们做工作,如果需要,将结果返回给您
-我们释放会话

您做的下一次调用将经历相同的过程,因此可能会在数据库上获得一个完全不同的会话。

因此,我们必须承诺,我们将把控制权还给你们的时刻。

如果您有一系列的DML ,您希望“作为一个”运行,则将其抛入一个PLSQL块,这意味着所有DML都将完成,或者没有任何DML都将完成。
文章转载自askTom,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论