在sqlplus中,我可以创建一个只读事务.
set transaction read only;
Run Code Online (Sandbox Code Playgroud)
是否可以创建只读会话?
我想连接到Oracle DB,使用UPDATE和INSERT执行一些测试,但即使在整个会话期间执行commit也不提交它们.
您可以查看以下内容
CREATE TABLE dummy
(val NUMBER(1)
CONSTRAINT dummy_ck CHECK(val =1) DEFERRABLE INITIALLY DEFERRED)
/
insert into dummy VALUES (2);
..<bits here>..
commit;
Run Code Online (Sandbox Code Playgroud)
除非实际删除/更新DUMMY中的挂起条目,否则事务将在COMMIT时失败并自动回滚.如果是
INSERT....
COMMIT...
INSERT....
Run Code Online (Sandbox Code Playgroud)
然后第一次提交将触发失败/回滚,因此第二次提交将成功.所以这很难看,也不是特别安全.但它可能适合您的需求
| 归档时间: |
|
| 查看次数: |
3818 次 |
| 最近记录: |