0
실행 즉시 문이있는 프로 시저가 있습니다. 실행 즉시 명령문은 두 개의 out 매개 변수가있는 프로 시저를 호출합니다. 즉시 실행 문을 호출하는 프로 시저에서 사용할 매개 변수를 가져 오는 데 문제가 있습니다.프로 시저를 호출하는 실행 즉시 문에서 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
하고있다. 그래서이 실행 즉시 호출하는 프로 시저 내에서 사용하기 위해 두 개의 출력을 얻이 필요가있다. 그러나 변수에 출력을 설정하지는 않습니다. 단계가 빠지거나 매개 변수를 사용할 때 다른 접근 방식을 사용해야합니까?
감사합니다. 이것은 내 문제를 해결했다. 하지만 레코드 유형에 대해서는 사실이라고 생각합니다. SQL 형식을 사용해야한다는 오류가 발생했습니다. – Alkey29
RECORD TYPES에 대한 업데이트 된 답변보기 –