是否可以在Oracle Unit Test启动时禁用oracle触发器

时间:2015-05-12 16:55:58

标签: oracle unit-testing oracle-sqldeveloper

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

在开始时我尝试了

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:

1 个答案:

答案 0 :(得分:0)

只能使用EXECUTE IMMEDIATE

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

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