oracle 儲存過程引數

2022-09-13 17:09:14 字數 1031 閱讀 6766

oracle 儲存過程型別:

1、in:輸入型別,即由應用程式將資料傳入oracle儲存過程中;這種引數在儲存過程中是唯讀引數,在儲存過程中無法對該型別的引數進行修改;

2、out:輸出引數,是在儲存過程中對該值進行賦值,在程式中獲取值。

3、in out:輸入輸出引數,兼具以上兩種特性,但可讀可寫。

驗證輸入引數:

由於預設引數是輸入型別的,在上圖中,對bacount引數賦值,報錯。

解決辦法:

create

orreplace package body bawq_proc_jgzx is

procedure

proc_csjgzx

( pproc

varchar2

, bacount

int :=3)

isi

int :=bacount; --

定義變數,通過變數替代引數

begini:=

bacount;

dbms_output.put_line(i);

delete

csjgzx;

while i>

0loop

i := i-

1;

insert

into csjgzx (csjgzx_proc,id,bh,mc,data) values(pproc,sys_guid(),sys_guid(),'

濟南',cast(dbms_random.value(1,200) as

int));

commit

;

endloop;

endproc_csjgzx;

end bawq_proc_jgzx;

簡單來說 in 是呼叫儲存過程的時候向儲存過程傳遞的訊息。out是儲存過程向呼叫者傳出的訊息。in out 則是兩者之間相互通訊。

oracle儲存過程 帶引數的儲存過程

帶引數的儲存過程 舉例 為指定的員工漲100元的工資,列印漲前和漲後的工資 如果帶參,需要指定是輸入引數還是輸出引數 create orreplace procedure raisesalary eno in number as 定義乙個變數儲存漲前的薪水,引用emp中sal的型別作為psal的型別...

oracle 儲存過程 沒有引數

create or replace procedure a meas miinsp plan update asvs msg varchar2 4000 log body varchar2 400 log body2 varchar2 400 updatecount number plancodes...

Oracle儲存過程傳遞陣列引數

今天晚上,和同事聊起oracle儲存過程傳遞陣列引數能否使用資料,之後就在自己的電腦上試試,試了試是可以使用。先要定義乙個型別myvarray list 陣列的長度是10,陣列中存放的資料型別是varchar2。sql create or replace type myvarray list as ...