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返回的個數一樣...