當前位置:首頁 » 存儲配置 » 調用oracle存儲過程返回值

調用oracle存儲過程返回值

發布時間: 2023-12-09 01:22:10

1. oracle裡面怎麼調用有返回值的存儲過程

create or replace procere xs_proc(temp_name in varchar2,
temp_num out number) is
num_1 number;
num_2 number;
begin
select yu_wen, shu_xue
into num_1, num_2
from xuesheng
where xing_ming = temp_name;
--dbms_output.put_line(num_1 + num_2);
temp_num := num_1 + num_2;
end;

單個返回值的oracle存儲過程

2. Oracle獲取存儲過程輸出參數返回值

CREATE OR REPLACE PROCEDURE sap_po_test(id IN NUMBER,
p_message OUT VARCHAR2) AS
mycount number(4) := 0;
BEGIN
SELECT COUNT(*)
INTO mycount
FROM 表
WHERE id = p_id;
IF mycount > 0 THEN
p_message := 'S';
ELSE
p_message := 'E';
END IF;
RETURN;
END;
( ⊙ o ⊙ )啊!

3. oracle怎麼寫一個無參存儲過程去調用一個有參數有返回值的存儲過程

create
procere
proc_a
as
declare
b
int;
c
varchar2(10);
begin
proc_b(b,
c);
dbms_output.put_line
(c);
end
procere
a;
你照我這個寫吧
proc_b(b,
c);
proc_b是你調用的帶返回參數的存儲過程
b是輸入變數,c是輸出變數

4. oracle 怎麼調用存儲過程

ORACLE存儲過程 以oracle自帶例子資料庫的表舉例
1、

create or replace procere p
is
cursor c is
select * from emp2 for update;
begin
for v_emp in c loop
if(v_emp.sal <2000) then
update emp2 set sal =sal+1 where current of c ;
elsif(v_emp.sal>=2000) then
delete from emp2 where current of c;
end if;
end loop;
commit;
end;

創建了存儲過程不代表運行了存儲過程;
運行此存儲過程 :
方式一 exec p;
方式二
begin
p;
end;
2、帶參數的存儲過程
in 相當於程序里的參數,供傳入用,在存儲過程不能改變其值;
out 相當於程序里的返回值,在存儲過程中可以為其賦值傳出;
in out 既可以當參數又可以當返回值用;
不帶上述說明符默認為in類型;

下例中v_a v_b 為in類型
v_c 為out類型
v_d 為in out 類型

create or replace procere p(v_a in number,v_b number,v_c out number,v_d in out number)
is
begin
if(v_a > v_b) then
v_c := v_a;
else
v_c := v_b;
end if;
v_d := v_d+1;
end;

---> 調試時:
可以在命令窗口調試,出錯時 用show errors 顯示出錯信息;
可以在plDv中調試;

---> 運行時:
可以在命令窗口運行:
declare
v_a number:=3;
v_b number:=4;
v_c number;
v_d number:=5;
begin
p(v_a,v_b,v_c,v_d);
dbms_output.put_line(v_c);
dbms_output.put_line(v_d);
end;
可以在plDv中調試;

5. shell如何獲取oracle存儲過程返回值

類似下面的方法:

fcp_login="<user>/<password>"
ret_value=`sqlplus-s$fcp_login<<EOF
setheadingoff
setfeedbackoff
setpages0
settrimspoolon
VARIABLEx_outnumVARCHAR2(30);
EXECUTEimportUserInfoDate1g(:x_outnum);
printx_outnum
exit;
EOF`

6. oracle 中運行存儲過程作為返回值

oracle可以使用out型參數返回值,例如:

--查詢某商品編號是否存在,返回查詢狀態
createorreplaceprocereproc_getGood
(
param_shopIdnumber,--商品編號
param_flagoutnumber--查詢狀態0不存在
)
as
declarev_countnumber(1);
begin
selectcount(*)intov_countfromtb_goodswhereshopid=param_shopid;

ifv_count=0then
param_flag:=0;
else
param_flag:=1;
endif;

end;

7. java調用oracle存儲過程無法獲得正確的返回值,每次都是0

你通過JDBC這種方式調用存儲過程,應該使用 CallableStatement 類, CallableStatement cs=conn.prepareCall(str);

補充一句,避免你在執行有錯,
cs.excuse();這個方法為執行,然後在獲取輸出參數。另外寫輸出參數的類型時,直Types.類型即可,不用帶包。

熱點內容
安卓怎麼插充電器開機 發布:2024-07-25 11:32:51 瀏覽:332
徑向壓縮 發布:2024-07-25 11:05:31 瀏覽:132
手機路由器登陸密碼忘記了怎麼辦 發布:2024-07-25 11:04:52 瀏覽:502
日期格式化java 發布:2024-07-25 11:00:18 瀏覽:677
wifi殺手的源碼用什麼編譯 發布:2024-07-25 10:11:01 瀏覽:174
訪問車間 發布:2024-07-25 10:02:21 瀏覽:906
演算法ID3 發布:2024-07-25 10:00:34 瀏覽:170
萬達伺服器地址 發布:2024-07-25 09:53:08 瀏覽:89
android程序如何調試程序 發布:2024-07-25 09:53:07 瀏覽:342
抖音安卓版本怎麼沒有功能 發布:2024-07-25 09:44:27 瀏覽:363