2008-10-05 55 views
1

我有下面的頭一個存儲過程:PL/SQL:如何執行預執行DML並具有返回值的SP?

FUNCTION SaveShipment (p_user_id IN INTEGER, p_transaction_id IN INTEGER, p_vehicle_code IN VARCHAR2 DEFAULT NULL, p_seals IN VARCHAR2 DEFAULT NULL) RETURN INTEGER; 

,我有蟾蜍的編輯器運行它的麻煩。我不能運行它作爲雙語句,因爲它瓶坯DML一個選擇的一部分,但如果我嘗試下面的語法我所看見的推薦上一些論壇:

var c integer; 
exec :c := orm_helper.orm_helper.SAVESHIPMENT (9999, 31896, NULL, ''); 
print c; 

我得到:

ORA-01008: not all variables bound 
Details: 
BEGIN :c := orm_helper.orm_helper.saveshipment (9999, 31896, null, ''); END; 
Error at line 2 
ORA-01008: not all variables bound 

什麼手動運行此sp的正確語法?

回答

2

你是否從另一個SP調用存儲過程?

我覺得語法是(如果我沒有記錯):

declare 
    c integer; 
begin 

c:=storedProc(...parameters...); 

希望這有助於。

+0

啊是的,這工作,謝謝 – 2008-10-05 17:26:33

0

你可能會選擇orm_helper.orm_helper.SAVESHIPMENT(9999,31896,NULL,'')FROM DUAL。