如何立即删除Oracle中给定DB中的所有触发器?

use*_*759 3 oracle triggers

如何删除(删除,删除)给定DB中的所有触发器.

问题是应用程序需要数据库升级,并且在升级后不会继续执行触发器(suport,drop,create),应用程序升级失败.

Bja*_*ndt 9

这将生成如何删除当前模式中的所有触发器的命令:

select 'drop trigger ' || trigger_name || ';' stmt from user_triggers;
Run Code Online (Sandbox Code Playgroud)


GTG*_*GTG 4

您可以使用 Oracle 系统表创建用于删除触发器的脚本,如下所示:

select 'drop trigger ' || owner || '.' || trigger_name || ';' from all_triggers
Run Code Online (Sandbox Code Playgroud)

请注意,有 3 个视图包含触发器:

  • all_triggers = 您有权了解的所有触发器(无论它们属于哪个模式)
  • user_triggers = 属于您自己的架构的触发器
  • dba_triggers = DBA 的