SQL Developerにいて、現在のユーザーセッション(つまり、接続)にコミットされていない変更があるかどうかを確認するとします。
SQL Developerを終了すると、そのようなチェックが行われ、続行方法を示すダイアログボックスが表示されます。終了せずに確認したい-例特別なSQLステートメントまたはSQL開発者アクションを実行する。
理想的には、現在のセッションが「ダーティ」である(つまり、コミットされていない変更がある)場合に視覚的に示されるようにSQL Developerを構成できればすばらしいでしょう。ワークシートの周りに赤い余白を表示する。
もあります
SELECT dbms_transaction.local_transaction_id FROM dual;
保留中のコミットがある場合は、トランザクションIDが表示されます。
V$TRANSACTION
を確認できます。次に例を示します。
create table t(a number);
Table created.
insert into t values (1);
1 row created.
select t.status
from v$transaction t
join v$session s
on t.ses_addr = s.saddr
where s.sid = sys_context('USERENV', 'SID');
STATUS
----------------
ACTIVE
コミット後:
commit;
Commit complete.
select t.status
from v$transaction t
join v$session s
on t.ses_addr = s.saddr
where s.sid = sys_context('USERENV', 'SID');
no rows selected
ただし、SYS.V_$TRANSACTION
およびSYS.V_$SESSION
に対するSELECT
特権を付与する必要があります。