myoracle 儲存過程

2021-06-18 06:14:01 字數 2229 閱讀 9023

oracle儲存過程

包含三部分:過程

宣告,執行過程部分,儲存過程異常。 一

、無參程式過程語法:

create

orreplace

procedure

noparpro

asbegin

exception     //儲存過程異常

end;

二、帶參儲存過程例項:

create

orreplace

procedurequeryempname(sfindno emp.empno

%type) as

sname emp.ename

%type;

sjob emp.job

%type;

begin

....

exception

....

end;

三、 帶引數儲存過程含賦值方式:

create

orreplace

procedurerunbyparmeters  (isal 

inemp.sal

%type, 

sname out 

varchar,sjob 

inout 

varchar

)asicount 

number

;begin

select

count(*

) intoicount fromemp wheresal

>

isal 

andjob

=sjob;

ificount

=1then

....

else

....

endif

;exception

whentoo_many_rows then

dbms_output.put_line(

'返回值多於1行');

whenothers then

dbms_output.put_line(

'在runbyparmeters過程中出錯!');

end;

過程呼叫

方式一:

declare

realsal emp.sal

%type;

realname 

varchar(

40

);realjob 

varchar(

40

);begin   //儲存過程呼叫開始

realsal:

=1100

;realname:=''

;realjob:='

clerk';

runbyparmeters(realsal,realname,realjob);     --

必須按順序

dbms_output.put_line(realname||'

'||realjob);

end;  //過程呼叫結束

過程呼叫方式二:

declare

realsal emp.sal

%type;

realname 

varchar(

40

);realjob 

varchar(

40

);begin    //過程呼叫開始

realsal:

=1100

;realname:=''

;realjob:='

clerk';

runbyparmeters(sname

=>

realname,isal

=>

realsal,sjob

=>

realjob);  --

指定值對應變數順序可變

dbms_output.put_line(realname||'

'||realjob);

end;  //過程呼叫結束

儲存過程系列之儲存過程sql查詢儲存過程的使用

1.查詢某個表被哪些儲存過程 以下簡稱 sp 使用到 select distinct object name id from syscomments where id in select object id from sys.objects where type p and text like ta...

儲存過程系列之儲存過程sql查詢儲存過程的使用

1.查詢某個表被哪些儲存過程 以下簡稱 sp 使用到 select distinct object name id from syscomments where id in select object id from sys.objects where type p and text like ta...

Oracle儲存過程呼叫儲存過程

oracle儲存過程呼叫有返回結果集的儲存過程一般用光標的方式,宣告乙個游標,把結果集放到游標裡面,然後迴圈游標 declare newcs sys refcursor cs1 number cs2 number cstype table rowtype table列的個數和newcs返回的個數一樣...