了解 PL/SQL 中的两个 SQL windows 开发者

Understanding two SQL windows in PL/SQL Developer

将SQL中的查询运行和PL/SQL中的查询windows作为两个单独的事务执行是否正确理解? (我倾向于根据一个 window 中发出的修改查询的结果未反映在另一个 window 中发出的 SELECT 查询的结果这一事实得出结论)。如果这种理解是正确的,那么在两个事务共享一个连接的情况下,这种理解的效用是什么?

两个事务不能共享一个连接。如果每个 window 是一个单独的事务,每个 window 将打开一个单独的数据库连接。如果您有两个事务,则有两个会话。

如果您想查看不同的 windows 是否使用不同的连接,您可以 运行

select sys_context( 'USERENV', 'SID' ) from dual;

如果您在两个 windows 中得到相同的结果,您只有一个连接和一个事务。如果你得到不同的结果,你有不同的连接。

"Session Mode" 可通过首选项设置进行配置。默认值为 "Multi-Session",其中每个 window 在其自己的会话中运行。

其他选项是 "Dual Session"(我的首选设置),其中所有 windows 共享一个会话,而模式浏览器、会话监视器、编译等使用第二个会话,或者 "Single Session" 其中整个应用程序使用单个会话。