帶有無引數的儲存過程

2021-09-08 07:49:53 字數 3345 閱讀 2017

sql中呼叫儲存過程語句:call procedure_name();

注:呼叫時」()」是不可少的,無論是有引數還是無引數.

定義對資料庫儲存過程的呼叫時

1、無引數儲存過程:

2、僅有輸入引數的儲存過程:。

這裡?表示輸入引數,建立儲存過程時用in表示輸入引數

3、僅有輸出引數的儲存過程:。

這裡的?表示輸出引數,建立儲存過程時用out表示輸出引數

4、既有輸入引數又有輸出引數的儲存過程。

這裡的?有表示輸出引數的,也有表示輸入引數的

下面將會對這4種情況分別舉出例項!!!

1、無引數儲存過程

create

orreplace

procedure

stu_proc

as--

宣告語句段

v_name

varchar2(20

);begin

--執行語句段

select

o.sname

into

v_name

from

student o

where

o.id=4

;dbms_output.put_line(v_name);

exception

--異常處理語句段

when

no_data_found

then

dbms_output.put_line(

'no_data_found');

end;

2、僅帶入參的儲存過程

create

orreplace

procedure

stu_proc(v_id

instudent.id

%type)

as--

宣告語句段

v_name

varchar2(20

);begin

--執行語句段

select

o.sname

into

v_name

from

student o

where

o.id

=v_id;

dbms_output.put_line(v_name);

exception

--異常處理語句段

when

no_data_found

then

dbms_output.put_line(

'no_data_found');

end;

3、僅帶出參的儲存過程

--

此種儲存過程不能直接用call來呼叫,這種情況的呼叫將在下面oracle函式呼叫中說明

create

orreplace

procedure

stu_proc(v_name out student.sname

%type)

as--

宣告語句段

begin

--執行語句段

select

o.sname

into

v_name

from

student o

where

o.id=1

;dbms_output.put_line(v_name);

exception

--異常處理語句段

when

no_data_found

then

dbms_output.put_line(

'no_data_found');

end;

4、帶入參和出參的儲存過程

--

此種儲存過程不能直接用call來呼叫,這種情況的呼叫將在下面oracle函式呼叫中說明

create

orreplace

procedure

stu_proc(v_id

instudent.id

%type, v_name out student.sname

%type)

as--

宣告語句段

begin

--執行語句段

select

o.sname

into

v_name

from

student o

where

o.id

=v_id;

dbms_output.put_line(v_name);

exception

--異常處理語句段

when

no_data_found

then

dbms_output.put_line(

'no_data_found');

end;

有無引數之儲存過程

一 建立帶引數的儲存過程 建立帶引數的儲存過程首先要在儲存過程中宣告該引數,每個儲存過程引數都必須用唯一的名稱進行定義。與t sql變數相同,引數名必須以 為字首,並且遵從識別符號規則。當使用者不提供該引數的值時可以使用乙個預設值來代替。1.不帶預設值的引數 建立乙個引數不帶預設值的儲存過程,在呼叫...

帶有引數的儲存過程

建立有引數的存數過程,對比函式的定義而言,as就相當於 和函式一樣,引數都定義在主體的前面 例如函式 private static void sum double num1,double num2 在呼叫的時候在 static void main string srgs 寫就可以啦。儲存過程 cre...

帶有輸入引數的儲存過程

建立帶有輸入引數的儲存過程 drop procedure if exists proc user in delimiter create procedure proc user in in in param int begin select from user where userid in par...