[英]Oracle : Execute Stored Procedure with table type input variable
當我嘗試調試現有應用程序時,發現一種方法正在執行顯示錯誤的存儲過程。 給定過程,我想在我的Oracle SQLDeveloper上執行存儲過程:
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:語句被忽略
只想執行它並獲得返回值
您可以在包中使用您的type
。 在包之外,您必須create type
。
要執行具有此類復雜類型參數的過程,請使用pl / sql匿名塊。
執行模板:
declare
X tableType;
begin
X(1) := 1;
P(X);
end;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.