是否可以在 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
我们有一个 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