我有一堆生成的表,每个表都有一个名为SOMETHINGCONSTANT_TRIGGERINGTABLE
的触发器。有没有办法一次启用或禁用所有这些触发器?
答案 0 :(得分:3)
试试这个,
declare
stmt_ varchar2(4000);
begin
for rec_ in (select TRIGGER_NAME from USER_TRIGGERS
where trigger_name LIKE 'SOMETHINGCONSTANT%') loop
stmt_ := 'ALTER TRIGGER ' || rec_.TRIGGER_NAME || ' ENABLE';
EXECUTE IMMEDIATE stmt_;
end loop;
end;
我相信你在同一个用户中拥有所有触发器和表,否则你需要登录到特定用户并在涉及多个用户时运行查询。