是否可以在 Oracle 单元测试启动时禁用 oracle 触发器

Is it possible to disable oracle trigger on Oracle Unit Test startup

我们有一个 table 有一个触发器用于将行写入不同的数据库,我们不想在单元测试期间执行。有没有办法在启动和拆卸期间禁用和重新启用触发器?

启动时我试过

BEGIN 
    ALTER TRIGGER CAMMS_DATA.TR_CO_DTL_AI DISABLE; 
END; 

并得到错误

Startup User PL/Sql Code (1/4) failed: ORA-06550: line 4, column 5:
PLS-00103: Encountered the symbol "ALTER" when expecting one of the following:

DDL 只能用 EXECUTE IMMEDIATE

执行
BEGIN 
    EXECUTE IMMEDIATE 'ALTER TRIGGER CAMMS_DATA.TR_CO_DTL_AI DISABLE';
END; 

但请注意,DDL 也意味着自动 COMMIT