0
我有一個具有執行立即語句的過程。在那個執行即時語句中調用一個有兩個輸出參數的過程。我在嘗試獲取那些在調用execute immediate語句的過程中使用的參數時遇到了問題。從調用過程的立即執行語句中使用out參數
execute_stmt := 'DECLARE pi_error_log_rec error_log%ROWTYPE; p_plan_id NUMBER; begin SCHEMA.PACKAGE_NAME.' ||
PROCEDURE || '(' ||
p_audit_log_id || ', ' ||
V_PARAMETER1 || ', ' || '''' ||
V_PARAMETER2 || '''' ||
', p_plan_id, pi_error_log_rec); end;';
execute immediate execute_stmt;
if(pi_error_log_rec.error_text IS NOT NULL) THEN
--do stuff;
ELSE
--do stuff;
的輸出參數是p_plan_id
和pi_error_log_rec
,剩餘的是IN參數。所以我需要獲得這兩個輸出用於調用此立即執行的過程中。但它沒有在變量中設置輸出。我錯過了一個步驟,還是應該在使用輸出參數時使用不同的方法?
謝謝。這解決了我的問題。但我認爲這是關於記錄類型的。我得到一個錯誤,說它必須使用SQL類型。 – Alkey29
查看我關於記錄類型的更新答案 –