确定当前的 AUTOCOMMIT DDL 设置

Determining the current AUTOCOMMIT DDL setting

使用 SET TRANSACTION AUTOCOMMIT DDL ON 和 SET TRANSACTION AUTOCOMMIT DDL OFF,您可以设置会话是否在任何 DDL 语句后自动提交。

有没有办法确定您当前的设置?我希望能够编写临时使用设置的某个值然后恢复原始值的代码,或者弄清楚我是否不小心使用了错误的设置。

是的,有。 如果 AUTOCOMMIT DDL 已设置为 OFF,则 M_SESSION_CONTEXT 包含密钥 DDL_AUTO_COMMIT 值为 FALSE。

select key, value 
    from m_session_context 
where 
    connection_id = current_connection
and key ='DDL_AUTO_COMMIT';

KEY             VALUE
DDL_AUTO_COMMIT FALSE

所以,如果您没有找到这条记录,AUTOCOMMIT DDL 模式是开启的(默认)。