簡體   English   中英

Oracle:使用表類型輸入變量執行存儲過程

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM