在Oracle Reports中使用'Execute Immediate'

来源:互联网 发布:paxos算法 ppt 动画 编辑:程序博客网 时间:2024/06/05 20:59

在Oracle Reports中使用'Execute Immediate'

在Oracle Reports中直接使用'Execute Immediate'是不允许的,但是可以在数据库中建立一个存储过程,然后在Oracle Reports中调用这个存储过程来达到执行SQL语句的目的.


在数据库中建立存储过程如下:
 
CREATE OR REPLACE PROCEDURE DYNAMIC_SQL(STMNT char) IS 
begin 
     BEGIN 
         EXECUTE IM
MEDIATE stmnt; 
     exception 
         when others then 
             dbms_output.put_
line('hello'); 
     end; 
end;


然后在Oracle Reports中调用,例如在 BeforeParam 触发器中, 调用存储过程:

 DYNAMIC_SQL('drop table TEST');

这样TEST这张表就会被删除.

原创粉丝点击