應(yīng)該就是這三種吧。
公司主營(yíng)業(yè)務(wù):成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出波密免費(fèi)做網(wǎng)站回饋大家。
1 , IN (參數(shù)值傳過來給存儲(chǔ)過程使用)
2, OUT(存儲(chǔ)過程返回結(jié)果給該參數(shù))
3. IN OUT(存儲(chǔ)過程調(diào)用該參數(shù)的同時(shí),最后還返回結(jié)果給調(diào)用的參數(shù))
沒有參數(shù)視圖這一實(shí)現(xiàn)的吧。
網(wǎng)上有人用package中定義的變量作為視圖的查詢參數(shù)值(當(dāng)然不是直接使用package中的參數(shù),而是調(diào)用package中返回此變量值的函數(shù)),在使用視圖之前先調(diào)用package中的設(shè)置該變量值的方法,這樣來曲線實(shí)現(xiàn)所謂的“參數(shù)視圖”。
從代碼上來看,你應(yīng)該是使用的這種方法。那么,你應(yīng)該在select語句之前,先調(diào)用p_view_param中設(shè)置值的方法,執(zhí)行完成之后再執(zhí)行select。
不過,個(gè)人認(rèn)為直接使用返回結(jié)果集的函數(shù)會(huì)更方便些。
create
table
p_proc(pid
number(2),pname
varchar2(20),pname_class
varchar2(20));
--用于存儲(chǔ)存儲(chǔ)過程和參數(shù)名的表并插入四條數(shù)據(jù),insert
into
p_proc
values(1,'a','v1');insert
into
p_proc
values(2,'b','v2');insert
into
p_proc
values(3,'c','v3');insert
into
p_proc
values(4,'d','v4');
四個(gè)存儲(chǔ)過程的的狀況為:
create
or
replace
procedure
v1(v_para
varchar2)asbegin
dbms_output.put_line(v_para);end;create
or
replace
procedure
v2(v_para
varchar2)asbegin
dbms_output.put_line(v_para);end;create
or
replace
procedure
v3(v_para
varchar2)asbegin
dbms_output.put_line(v_para);end;create
or
replace
procedure
v4(v_para
varchar2)asbegin
dbms_output.put_line(v_para);end;如下調(diào)用存儲(chǔ)過程的存儲(chǔ)為(請(qǐng)忽略一些測(cè)試輸出):
給你一個(gè) 傳遞參數(shù)的例子
SQL CREATE OR REPLACE PROCEDURE HelloWorld2 (
2 p_user_name IN VARCHAR2,
3 p_out_val OUT VARCHAR2,
4 p_inout_val IN OUT VARCHAR2
5 ) AS
6 BEGIN
7 dbms_output.put_line('Hello ' || p_user_name || p_inout_val || '!');
8 p_out_val := 'A';
9 p_inout_val := 'B';
10 END HelloWorld2;
11 /
Procedure created.
SQL DECLARE
2 p_outval VARCHAR2(10);
3 p_inoutval VARCHAR2(10) := '~Hi~';
4 BEGIN
5 HelloWorld2('Edward', p_outval, p_inoutval);
6
7 dbms_output.put_line('p_outval=' || p_outval);
8 dbms_output.put_line('p_inoutval=' || p_inoutval);
9 END;
10 /
Hello Edward~Hi~!
p_outval=A
p_inoutval=B
PL/SQL procedure successfully completed.
SQL
in out類型參數(shù)是過程運(yùn)行開始會(huì)把參數(shù)值傳入過程,運(yùn)行結(jié)束后會(huì)把參數(shù)值再傳出去。
比如說過程test(v_cs in out number);功能為把帶入的參數(shù)加1;
v_num:=1;
test(v_num);
dbms_output.put_line(v_num);
將輸出2;