Oracle 儲存過程

2021-09-01 22:49:19 字數 537 閱讀 4181

儲存過程是一種命名的pl/sql程式塊,它既可以沒有引數,也可以有若干個輸入,輸出引數,甚至可以有多個既作輸入又作輸出的引數,但它通常沒有返回值。儲存過程被儲存在資料庫中,它不可以被sql語句直接執行或呼叫,只能通過execut命令執行或在pl/sql程式塊內部被呼叫。

由於儲存過程是已經編譯好的**,所以其被呼叫或引用時,執行效率非常高。

1.in模式引數

這是一種輸入型別的引數,引數值由呼叫方傳入,並且只能被儲存過程讀取。

2.out模式引數

這是一種輸出型的引數,表示這個引數在儲存過程中已經被賦值,並且這個引數值可以傳遞到當前儲存過程以外的環境中,關鍵字out位於引數名稱之後。

3.in out模式引數

在執行儲存過程時,in引數不能被修改,它只能根據被傳入的指定值為儲存過程提供資料,而out型別的引數只能等待被賦值,而不能像in引數那樣為儲存過程本身提供資料。但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...