相关疑难解决方法(0)

为什么只从数据库视图中选择时会获得一个打开的事务?

如果我在pl/sql开发人员中对数据库表执行一个简单的select语句,我会得到一组标准的结果,如我所料.

最近,我从一个恰好从视图中选择的存储过程粘贴了一个查询,并注意到一个事务似乎保持打开状态.PL/SQL开发人员可以使用回滚和提交选项.

对其他开发人员的调查显示,这似乎影响了一些但不影响其他人,这导致我怀疑PL/SQL Developer设置.

为什么会这样呢?视图itelf有一个DBLink到另一个数据库,但我不希望这会产生任何影响.

有什么想法吗?

sql oracle plsql oracle11g plsqldeveloper

8
推荐指数
2
解决办法
1万
查看次数

为什么SELECT查询没有启动事务?[甲骨文]

我正在尝试调试下一个oracle过程:

create or replace PROCEDURE CASE_6_TRANS_2
AS
   V_NUM NUMBER(38,0);
BEGIN
  SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;
  SELECT COUNT(AE.ID) INTO V_NUM FROM AUDIT_EVENT AE WHERE ID=10; 
  COMMIT; --BREAKPOINT
END CASE_6_TRANS_2;
Run Code Online (Sandbox Code Playgroud)

但是当我想在断点处看到当前事务时,V $ TRANSACTION表为空.

文件说:

事务在遇到第一个可执行SQL语句时开始.可执行SQL语句是一种SQL语句,它生成对数据库实例的调用,包括DML和DDL语句以及SET TRANSACTION语句.

根据文档 SELECT查询是DML

  1. 交易是否开始但是没有在V $ TRANSACTION中显示?
  2. 或者交易根本没有开始.为什么不呢?

oracle transactions

5
推荐指数
1
解决办法
656
查看次数

标签 统计

oracle ×2

oracle11g ×1

plsql ×1

plsqldeveloper ×1

sql ×1

transactions ×1