oracle創建存儲過程兩種方法

在做oracle存儲過程時還是用sql server的語法寫oracle過程,所以會出錯,其它有很多不同,下面舉一二個實例。

在做oracle存儲過程時還是用sql server的語法寫oracle過程,所以會出錯,其它有很多不同,下面舉一二個實例。

oracle創建存儲過程兩種方法

create or replace procedure getdefault is begin ? execute 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;

/*
在做oracle存儲過程時還是用sql server的語法寫oracle過程,所以會出錯,其它有很多不同,下面舉一二個實例。

1、每個語句結束后用;
2、DDL需要用execute immediate動態的sql執行
3、存儲過程不支持直接select,需要用游標
*/

? 版權聲明
THE END
喜歡就支持一下吧
點贊8 分享