暂无图片
Oracle中存储过程和它调用的存储过程属于一个事务 ,还是两个独立的事务?
我来答
分享
暂无图片 匿名用户
Oracle中存储过程和它调用的存储过程属于一个事务 ,还是两个独立的事务?

Oracle中存储过程和它调用的存储过程属于一个事务 ,还是两个独立的事务?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
布衣
暂无图片

– 测试:

SQL> CREATE OR REPLACE PROCEDURE sp_test AS 2 BEGIN 3 insert into t1 values(2); 4 commit; 5 END sp_test; 6 / Procedure created SQL> insert into t1 values(1); 1 row inserted SQL> set serveroutput on SQL> exec sp_test; PL/SQL procedure successfully completed SQL> select *from t1; ID ---------- 1 2 SQL> rollback; Rollback complete SQL> select * from t1; ID ---------- 1 2
复制

从这个测试来看,事务是根据commit和rollback为结束的。遇到commit或rollback,表示事务结束。
所以从A存储过程,到B存储过程,如果遇到commit,就代表事务结束了。

希望对你有所帮助,如有帮助请采纳

暂无图片 评论
暂无图片 有用 1
打赏 0
暂无图片
枫神
2022-09-07
🐂
哇哈哈

属于一个事务,同时提交/同时回滚,除非存储功能内部有显式commit;

暂无图片 评论
暂无图片 有用 1
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle v$session查询乱码?
回答 1
显示乱码,还是字符集的问题。你确定服务端是使用的ZHS16GBK吗
Oracle 11g RAC 2节点ASM磁盘丢失
回答 2
1.你这个日志目前只能看到写asmdisksdg和asmdisksdm报错,导致节点2的某个实例无法启动;信息太少了2.可以考虑看看asm磁盘有没有offline的!3.为什么两块磁盘无法写入实例就无
oracle 10g rac,1节点的前台进程处于gc cr request,此进程向2节点的lmsn发送IPC send timeout检测,结果2节点的lmsn异常,迟迟无法回复消息.
回答 1
要看下是不是bug了
现在oracle 那个版本用的比较多?
回答 8
已采纳
oracle11.2.0.4应该还是主流,但是新上线的一般是建议19C
这个参数KERNEL.SEM导致Oracle数据库无法启动
回答 2
自己知道问题了就去改一改呗kernel.sem25032000100128 SEMMSL:每个信号集的最大信号数量 SEMMNS:用于控制整个Linux系统中信号的最大数&nbsp
sqlserver 2000数据库迁移到Oracle11g,除了ogg还有啥好方案没?
回答 4
已采纳
可以使用cloudcanal 
如果绑定的执行计划中涉及的对象不可用,会发生什么?
回答 2
已采纳
这种情况一般是索引不存在了, 如果是表不存在了, 除了报错没有其他可选.如果索引不存在了, 相当于一个hint里面的一部分写错, 其他部分还是可以继续生效的,&
ORACLE存储的问题
回答 1
理论可行但是对于业务繁忙的系统不建议这样做,如果快照的时候存储不一致,会导致快照应用的时候需要做数据恢复使用oracle自己的备份归档方案就可以实现恢复
求问;ORA-22816: RETURNING 子句 不支持的功能 请高手指点指点,谢谢。
回答 1
1、RETURNING子句不支持以下情况:对象类型列、LONG列、DBLINk、带有子查询的INSERT、INSTEADOF触发器
求一个红帽7生成oracle udev.rule的脚本。谢谢各位
回答 2
已采纳
供ASM使用的磁盘为sddsdi,defghi盘为ASM共享盘可以使用lsblk命令查看磁盘信息:lsblkNAMEMAJ:MINRMSIZEROTYPEMOUNTPOINTsda8:0020G0di