1
我有一堆生成的表,每个表都有一个名为SOMETHINGCONSTANT_TRIGGERINGTABLE
的触发器。有没有办法一次启用或禁用所有这些触发器?如何更改oracle中多个表的触发器?
我有一堆生成的表,每个表都有一个名为SOMETHINGCONSTANT_TRIGGERINGTABLE
的触发器。有没有办法一次启用或禁用所有这些触发器?如何更改oracle中多个表的触发器?
试试这个,
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;
我相信你在同一用户的所有触发器和表格,否则您需要登录到特定的用户和运行查询,如果有涉及到多个用户。
PL/SQL是否可以接受?如果是,请考虑在您的问题中添加相关标签。 – 2014-12-02 19:18:52
添加它,谢谢。 – Yitzchak 2014-12-02 19:19:58