當前位置:九游会j9娱乐平台-九游ag登录中心网址 » 存儲配置 » oracle存儲in參數

oracle存儲in參數-九游会j9娱乐平台

發布時間: 2024-06-27 23:59:26

① oracle 存儲過程中in條件傳參數

樓上的可以,不過有些語法錯誤,我改改,呵呵
---
create or replace procere pd1(p_1 number,p_2 number,p_3 number)
is
v_sql varchar2(4000);
begin
v_sql:='select * from table where id in('||p_1||','||p_2||','||p_3||')';
execute immediate v_sql;

end;
/

② oracle存儲過程中怎麼理解傳入傳出參數(in out)

oracle 過程中定義了in|out|in out3中參數模式,每個參數可以選擇其一
in 是參數的默認模式,這種模式就是在程序運行的時候已經具有值,在程序體中值不會改變。
舉個例子
create or replace procere update_price(
p_proct_id in number,
p_factor in number)
as
.....
你在引用這個過程的時候給參數傳入值
exexute update_price(2,2.5);
這是定義的2個參數就得到了值,in模式下值不能變

out模式定義的參數只能在過程體內部賦值,表示該參數可以將某個值傳遞回調用他的過程
in out 表示高參數可以向該過程中傳遞值,也可以將某個值傳出去

③ oracle 存儲過程sql中in 參數怎麼傳入調試

右擊存儲過程,選擇
測試create
or
replace
procere
pd1(p_1
number,p_2
number,p_3
number)
is
v_sql
varchar2(4000);
begin
v_sql:='select
*
from
table
where
id
in('||p_1||','||p_2||','||p_3||')';
execute
immediate
v_sql;
end;

④ oracle存儲過程的in out 值傳遞,這是怎麼傳遞的看不懂啊

p_user_name的in,表示這個參數是傳入參數。

p_out_val的out,表示這個是傳出參數。也就是java中return的值。

p_inoutval的in out,表示這個既是傳入、又是傳出參數。也就是說,你可以利用它傳入該存儲過程,然後接到處理後的這個參數。一個參數搞定了2項功能(傳入,傳出)

⑤ oracle中如何為存儲過程傳遞參數

第一種:只讀。參數是只讀的,不能修改,即調用時傳遞進來的是常量,或者變數(但變數不能在存儲過程中修改正薯)。通常select及dml類型的存儲過程傳遞的是in類型的參數。

第二種:只寫。忽略調用語句傳遞的任何參數,並在函數(過程)內部給這些參數賦值,因此是只寫的。(這種情況是在函數或過程內部給參數重新賦值,但重新賦值後的參舉御者數是無法被外部調用的(好像游標類型的參數除外))

create or replace procedure "scott"."swap" (firstvalue out
number, secondvalue out number) is
temp number;
begin
temp := firstvalue;
firstvalue := secondvalue;
secondvalue := temp;
end swap;

外部調用:

set serveroutput on;
declare
firstval number;
secondval number;
begin
firstval := 10;
secondval := 20;
scott.swap(firstval,secondval);
dbms_output.put_line('first is ' || firstval);
dbms_output.put_line('second is ' || secondval);
end;

無法在外部訪問到firstvalue與secondvalue的值。此時列印出的結果為:

first is
second is
第三種:讀或寫。這可以完全控制參數,讀取傳遞的參數的值。可以再函數(過程)內部修改參數的值,在退出函數(過程)後,這些參數被賦給在函數內部寫入的值,這樣就可以返回多個值。(即入口參數寫入值後,可以傳遞到函數(過程)的外部,供外部調用的時候使用)

ps:函數中的返回值為如下幾種:

char; varchar2; number; integer; date; boolean; table; record

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 /

procere 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 procere successfully completed.

熱點內容
resin下jsp不能正常編譯 發布:2024-07-17 16:34:44 瀏覽:229
sqlserver如何切換主備伺服器 發布:2024-07-17 16:23:02 瀏覽:299
mc18伺服器ip 發布:2024-07-17 16:23:02 瀏覽:379
仙境傳說手游腳本 發布:2024-07-17 16:09:24 瀏覽:691
matlab命令窗口和新建腳本 發布:2024-07-17 15:51:26 瀏覽:375
建ftp文件夾 發布:2024-07-17 15:51:26 瀏覽:955
魔獸撿物腳本 發布:2024-07-17 15:27:56 瀏覽:130
開發ip伺服器 發布:2024-07-17 15:24:42 瀏覽:388
安卓系統視頻製作哪個好用 發布:2024-07-17 15:10:47 瀏覽:210
androidapk結構 發布:2024-07-17 15:10:43 瀏覽:945
网站地图