实现功能:删除当前用户下 触发器名中含有TEST的所有触发器(我的当前用户下含有AIR_TEST2、AIR_TEST这两个触发器) 1 declare
2 dyn_str varchar2(100);
3 a_tri_name varchar2(100);
4 begin
5 for tri_idx in (select trigger_name from user_triggers) loop
6 a_tri_name:=tri_idx.trigger_name;
7 dyn_str:='drop trigger :1';
8 if a_tri_name like '%TEST%' then
9 dbms_output.put_line(a_tri_name);
10 execute immediate dyn_str using a_tri_name;
11 end if;
12 end loop;
13* end;
SQL> /
AIR_TEST2
declare
*
第 1 行出现错误:
ORA-04070: 无效的触发器名
ORA-06512: 在 line 10
2 dyn_str varchar2(100);
3 a_tri_name varchar2(100);
4 begin
5 for tri_idx in (select trigger_name from user_triggers) loop
6 a_tri_name:=tri_idx.trigger_name;
7 dyn_str:='drop trigger :1';
8 if a_tri_name like '%TEST%' then
9 dbms_output.put_line(a_tri_name);
10 execute immediate dyn_str using a_tri_name;
11 end if;
12 end loop;
13* end;
SQL> /
AIR_TEST2
declare
*
第 1 行出现错误:
ORA-04070: 无效的触发器名
ORA-06512: 在 line 10
解决方案 »
- 【求助】SQL问题,急~~~~~~~~~~~~
- 怎么用sql语句把以前varchar2字段里面的值拷贝到blob字段里面
- Discussion on Teradata to Oracle Migration
- 急!急!急!如何将字符串拆分后形成集合返回???
- Windows XP + VMWare Server 1.0.6 + CentOS 5.2 + Oracle 10g Rac (10.2.0.1)安装文档 3
- 我在LINUX上装了ORACLE 8。1。7,但上面没带PROC预编译器,问,怎么安装PROC编译器
- 求 Oracle 9.0.1.1 的 Oracle ODBC 驱动程序
- 这是什么那里的缓冲不足
- 如何给用户exp的权限,让他只能导入自己用户下的数据?
- ORACLE常用的软件有哪些啊
- 恢复删除后的触发器
- 触发器建立时出现"无效标识符" 急死了,在线等
declare
dyn_str varchar2(100);
a_tri_name varchar2(100);
begin
for tri_idx in (select trigger_name from user_triggers) loop
a_tri_name:=tri_idx.trigger_name;
if a_tri_name like '%TEST%' then
dbms_output.put_line(a_tri_name);
dyn_str:='drop trigger '||a_tri_name;
execute immediate dyn_str;
end if;
end loop;
end;
SQL操作的对象名(触发器、表等等)不能使用绑定变量
SELECT * FROM TAB;