【www.bbyears.com--Oracle教程】
oracle创建存储过程两种方法
create or replace procedure getdefault is
beginexecute immediate " create global temporary table deftemp(pid varchar2(5))on commit delete rows";
select * from deftemp;end
//方法二
/*
下面来看个
1:创建临时表
2:往临时表中插入结果集
3:返回临时表的结果集
oracle存储过程创建的简单实例
*/
declare
create_str varchar2(100);
dept_row dept%rowtype;
begin
create_str := "create global temporary table temp on commit preserve rows as select * from dept";
execute immediate create_str ;
execute immediate "select * from temp where rownum=1" into dept_row ;
dbms_output.put_line(dept_row.deptno ||"+"||dept_row.dname||"+"||dept_row.loc);
end;
/*
1、每个语句结束后用;
2、DDL需要用execute immediate动态的sql执行
3、存储过程不支持直接select,需要用游标
*/