Oracle 儲存過程

2021-08-08 11:51:36 字數 861 閱讀 8721

儲存過程

儲存過程是一種pl/sql塊,以命名的資料庫物件形式儲存於資料庫當中。

可以傳遞引數給儲存過程。儲存過程可以有返回值,也可以沒有返回值,儲存過程的返回值必須通過引數帶回;

語法如下:

create [or replace] procedure 《儲存過程名稱》 [()]

is|as

begin

[exception

]end [儲存過程名稱];

create or replace procedure myproc

asbegin

delete dept where deptno in (80,81);

insert into dept(deptno, dname)

values(80, '財務部');

insert into dept(deptno, dname)

values(81, '市場部');

commit;

end myproc;

注意:

(1)沒有引數的時候不需要加括號。也就是第1條語句不能這樣寫:

create or replace procedure myproc()

(2) 如果有insert,update,delete語句,則一定要有commit語句。

過程引數的三種模式:

--in

用於接受呼叫程式的值

(預設的引數模式)

--out

用於向呼叫程式返回值 

--in out

用於接受呼叫程式的值,並向呼叫程式返回更新的值

Oracle儲存過程呼叫儲存過程

oracle儲存過程呼叫有返回結果集的儲存過程一般用光標的方式,宣告乙個游標,把結果集放到游標裡面,然後迴圈游標 declare newcs sys refcursor cs1 number cs2 number cstype table rowtype table列的個數和newcs返回的個數一樣...

ORACLE儲存過程

自定義函式開始 create or replace function fn wftemplateidget templatecategoryid number,organid number,templatemode number return number istemplateid number i...

Oracle 儲存過程

create or replace procedure p 有就替換,沒有就建立 iscursor c is select from emp for update begin for v emp in c loop if v emp.deptno 10 then update emp2 set sa...