【发布时间】:2014-06-12 18:14:39
【问题描述】:
我有一个包含立即执行语句的过程。在该执行立即语句中,调用具有两个输出参数的过程。我在尝试获取要在调用执行立即语句的过程中使用的那些输出参数时遇到问题。
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;
out参数为p_plan_id和pi_error_log_rec,其余为IN参数。因此,我需要获取这两个输出,以便在调用此立即执行的过程中使用。但它没有在变量中设置输出。我错过了一个步骤还是应该使用不同的方法来使用 out 参数?
【问题讨论】:
标签: sql oracle stored-procedures plsql