oracle儲存過程和儲存函式(1)

2021-07-22 04:54:42 字數 1464 閱讀 2061

--第乙個儲存過程

create

orreplace

procedure sayhelloworld

asbegin

dbms_output.put_line("hello world");

end;

--呼叫儲存過程

--1.execute exec

--2.在儲存過程中呼叫

/*begin

sayhelloworld();

end;

*/--帶引數的儲存過程

create

orreplace

procedure raisesalary(eno in

number)

--指定引數是輸入引數還是輸出引數

aspsal emp.sal%type;

begin

select sal into psal from emp where empno = eno;

update emp set sal=sal+100

where empno = eno;

dbms_output.put_line(psal);

end;

/*注意:

一般不在儲存過程或者儲存函式中,commit rollback

*/儲存函式,可帶引數,並返回乙個計算值。

函式和過程的結構類似,但必須有乙個return子句,用於返回函式值。

--查詢某個員工的年收入

create

orreplace function querysal(eno in

number)

return number;

as--定義變數要存員工的薪水和獎金

psal emp.sal%type;

pcomm emp.comm%type;

begin

select sal,comm into psal,pcomm from emp where empno=eno;

return psal*12+nvl(pcomm,0);

end;

/*過程和函式多可以通過out指定乙個或多個輸入引數。我們可以利用

out引數,在過程和函式中實現返回多個值。

--過程可以通過out引數來實現有返回值

*/--如果只有乙個返回值,用儲存函式。否則用儲存過程。

--查詢某個員工姓名、月薪和職位

create

orreplace

procedure queryinfo(

eno in

number,

pename out varchar2,

psal out number,

pjob out varchar2)as

begin

select ename,sal,job from emp where empno = eno;

end;

Oracle儲存過程和儲存函式

參看 oracle儲存過程 儲存函式 說明 儲存過程 儲存函式都是物件。包括表 檢視 索引 序列 同義詞等也是物件。概念 指儲存在資料庫中供所有使用者程式呼叫的子程式叫儲存 過程 儲存函式。特點 完成特定功能的程式。區別 儲存函式可以通過return子句返回乙個值。建立和使用儲存過程 用create...

Oracle儲存函式,儲存過程

一 oracle儲存函式 儲存的pl sql語法塊,完成特定的功能。1 語法 函式關鍵字 function 1 建立函式 create or replace function function name param1,param2 return is as local declarations de...

Oracle 儲存過程 函式

儲存過程 函式 子程式有名字 儲存在資料庫 同過名字呼叫 建立的時候被編譯 可以被其他有名或者無名的塊呼叫 語法create or replace procedure testp1 as 宣告 begin 可執行 dbms output.put line hello world end 使用 exe...