2015-10-22 58 views
0

當我嘗試調試現有的應用程序時,發現有1個方法正在執行顯示錯誤的存儲過程。我想在我的Oracle的SQLDeveloper,給定的程序執行存儲過程:Oracle:使用表類型輸入變量執行存儲過程

type numTableType is table of NUMBER index by binary_integer; 

PROCEDURE up_correction_status(p_exp_check_id IN numTableType, p_status_id NUMBER, p_user_id NUMBER, p_return OUT NUMBER); 

但是,如何申報numTableType價值?

我試圖:

var p_return NUMBER; 
execute "PKG_PDM_DASHBOARD".up_approved_corr_status(1, 2, 11, :p_return); 
print p_return; 

實測此錯誤:

錯誤起始於第2行中的命令: 執行 「PKG_PDM_DASHBOARD」 .up_approved_corr_status(1,2,11,:p_return) 錯誤報告: ORA-06550:第1行第8列: PLS-00306:調用'UP_APPROVED_CORR_STATUS'時參數的錯誤數量或類型 ORA-06550:第1行第8列: PL/SQL:語句被忽略

只是想執行它並獲得返回值

+0

什麼是錯誤? – Hawk

+0

程序的主體在哪裏? – Vance

+0

什麼問題? –

回答

2

type使用包內是可能的。在包裹外面,您必須create type

要使用這樣複雜的類型參數執行過程,請使用pl/sql匿名塊。
執行模板:

declare 
    X tableType; 
begin 
    X(1) := 1; 
    P(X); 
end; 
+0

你能告訴我如何執行這種程序,請 –

相關問題