在ORACLE存储过程中创建临时表

来源:互联网 发布:crm源码 编辑:程序博客网 时间:2024/05/17 06:40
create procedure pro
as
str varchar2(100);
begin
str:='CREATE GLOBAL TEMPORARY TABLE TABLENAME (
   COL1  VARCHAR2(10),
   COL2  NUMBER
) ON COMMIT PRESERVE ROWS' ;
execute immediate str;   
--使用动态SQL语句来执行
end;
/


存储过程里不能直接使用DDL语句,所以只能使用动态SQL语句来执行

--ON COMMIT DELETE ROWS 说明临时表是事务指定,每次提交后ORACLE将截断表(删除全部行)
--ON COMMIT PRESERVE ROWS 说明临时表是会话指定,当中断会话时ORACLE将截断表。


CREATE GLOBAL TEMPORARY TABLE admin_work_area
      
      ON COMMIT DELETE ROWS as select * from dept
 
原创粉丝点击