儲存過程與儲存函式

2021-10-25 10:02:51 字數 1535 閱讀 5175

plsql中語法:

create [or replace] procedure 過程名(引數名 in|out 型別)

asbegin

end

//宣告pro_add_sal儲存過程,作用是給指定員工漲1000元工資,並列印出漲前和漲後工資

create

orreplace

procedure pro_add_sal(plempno in number)

astotalsal number;

begin

select sal into totalsal from emp where empno=plempno;

//查詢工資並賦值給totalsal

dbms_output.put_line(totalsal)

;update emp set sal = sal+

1000

where empno=plempno;

dbms_output.put_line(totalsal+

1000);

commit

;end

;plsql呼叫:

begin

pro_add_sal(

1001);

end;

plsql中語法:

create [or replace] function 方法名(引數 in|out 型別) return 引數型別

as定義變數名 型別要和return返回型別一致

begin

return 變數名;

end

//宣告fun_emp_totalsal儲存函式,查詢指定員工的年薪

create

orreplace

function fun_emp_totalsal(plempno number)

return number --in可以忽略,out不能忽略不寫

as totalsal number;

--和上面return型別必須一致

begin

select

(sal*12)

+nvl(bouns,0)

into totalsal from emp where empno=plempno;

return totalsal;

endplsql呼叫:

declare

totalsal number;

begin

totalsal := fun_emp_totalsal(

1001);

dbms_output.put_line(totalsal)

;end

;

tips:上面儲存過程是直接語句列印輸出,這裡儲存函式也可以用另外方式列印

儲存過程與儲存函式的區別:

1.定義的語法不一樣procedure,function

2.function有返回值

3.function可以在select中進行呼叫

4.儲存過程可以通過out型別來返回引數

MySql儲存過程與儲存函式

在開發過程種常常會重複使用某些sql語句,為此mysql sdsd 先建立乙個表 create table user insert user username,password values jacklove qqqqqq insert user username,password values u...

函式與儲存過程

函式是命名了的 儲存在資料庫中的 pl sql 程式塊。函式接受零個或多個輸入引數,有乙個返回值,返回值的資料型別在建立函式時定義。定義函式的語法如下 function name parameter parameter,return datatypes is local declarations b...

儲存過程與函式

一 儲存過程與函式的區別 1.一般來說,儲存過程實現的功能要複雜一點,而函式的實現的功能針對性比較強。2.對於儲存過程來說可以返回引數 output 而函式只能返回值或者表物件。3.儲存過程一般是作為乙個獨立的部分來執行,而函式可以作為查詢語句的乙個部分來呼叫,由於函式可以返回乙個表物件,因此它可以...