oracle pl sql之oracle儲存過程

2022-08-31 02:48:08 字數 1629 閱讀 5208

儲存過程是一種命名pl/sql程式塊,它可以被賦予引數,儲存在資料庫中,可以被使用者呼叫。由於儲存過程是已編譯好的**,所以在呼叫的時候不必再次進行編譯,從而提高了程式的執行效率。另外使用儲存過程可以實現程式的模組化設計

儲存過程的語法:

create [or replace] procedure procedure_name (parameter  data_type,

parameter  data_type....)  

begin

executable section;

exception

exception handlers;

end;

程式演示:

寫乙個儲存過程用來向emp表中插入一條資料

create of replace procedure my_procedure3 is

begin

insert into emp(empno,ename) values(9527,'星爺之唐伯虎');

end;

控制台中呼叫儲存過程:

exec 過程名(引數);

或者寫乙個plsql語句塊

begin

過程名(引數);

end;

引數:

oracle 有三種引數模式in out和 in out

in 表示使用者的輸入引數

程式演示:

create or replace procedure my_procedure(in_no in number,in_name in varchar2) is

begin

insert into emp(empno,ename) values(in_no,in_name);

end;

out引數表示使用者的輸出

程式演示:

create or replace procedure my_pro(in_no in number,out_name out varchar2,out_sal out number) is

begin

select ename,sal into out_name,out_sal from emp where empno=in_no;

end;

在sqlplus中想得到帶有輸出的過程執行完後的值

方法1:寫匿名塊

declare

v_name emp.ename%type;

v_sal emp.sal%type;

begin

my_pro(7369,v_name,v_sal);

dbms_output.put_line( v_name);

dbms_output.put_line( v_sal);

end;

注意:

in out同時具有in和out的特性,在過程中可以讀取和寫入型別引數

Oracle PL SQL入門之案例實踐

前面已經了解了關於 pl sql程式設計的基礎,本文將結合乙個案例來加深對這些知識點的理解。一 案例介紹 某資料庫有兩張表,是關於某公司員工資料 薪水和部門資訊的,它們分別是emp表和dept表,兩張表的結構如下 要求如下 1 按照上表結構建立相應的表,並每張表寫入5組合法資料。2 操縱相關表,使得...

Oracle PL SQL入門之案例實踐

一 案例介紹 某資料庫有兩張表,是關於某公司員工資料 薪水和部門資訊的,它們分別是emp表和dept表,兩張表的結 構如下 要求如下 1 按照上表結構建立相應的表,並每張表寫入5組合法資料。2 操縱相關表,使得 技術部 的員工的薪水 20 3 建立日誌,追蹤薪水變動情況。4 建立測試包。二 案例的分...

OraclePL SQL物件導向之package

將方法和過程用包定義create or replace package pkg empas 輸入員工編號查詢出員工資訊procedure pro findinfo in empno emp2.empno type,out name out emp2.ename type,out sal out em...