1. 程式人生 > >oracle 儲存過程 的建立以及使用

oracle 儲存過程 的建立以及使用

1.概念

    儲存過程:

實際上是封裝在伺服器上一段PLSQL程式碼片斷,已經編譯好了的程式碼
            客戶端取呼叫儲存過程,執行效率就會非常高效
    語法:
      create [or replace] procedure 儲存過程的名稱(引數名 in|out|in out 引數型別,引數名 in|out|in out 引數型別)
      is | as
       --宣告部分
      begin
       --業務邏輯 
      end; 

  in、out、in out 引數使用方法請參考:

in、out、in out 引數的使用方法

2.呼叫方式

方式1

    call 儲存過程的名稱 (引數);

方式2 (用的最多的方式)

    declare

    begin
      儲存過程的名稱 (引數);
    end;

3.案例 :

使用oracle自帶學習使用者 SCOTT 裡的 EMP 表 進行操作.

要求 :  建立一個儲存過程,給指定的員工漲工資

-- 檢視7788漲工資前的工資
select empno,sal from emp where empno = 7788;
-- 建立儲存過程, 員工編號引數 p_empno,漲薪數 引數 p_sal
create or replace procedure pro_updatesal(p_empno number,p_sal number)
as
    -- 宣告變數,用來 儲存當前工資
    cu_sal number;
begin
  -- 把當前工資 賦值給變數
  select sal into cu_sal from emp where empno = p_empno;
  -- 更新
  update emp set sal = cu_sal+p_sal where empno = p_empno;
  -- 一般儲存過程最後一句就是 提交
  commit;
end;
-- 呼叫儲存過程,給 7788號員工 加 100 塊
call pro_updatesal(7788,100);

-- 查詢結果,驗證是否成功
select empno,sal from emp where empno = 7788;