DBMS_OUTPUT.CHARARR의 결과를 제공하는 DBMS_OUTPUT.GET_LINES를 사용할 때이를 varchar2로 변환하는 방법은 무엇입니까? DBMS_OUTPUT.GET_LINES를 사용하여 모든 DBMS_PUTLINE 문을 가져 와서 호출 프로그램에 문자열로 반환하려고합니다.DBMS_OUTPUT.GET_LINES를 VARCHAR2로 변환하는 방법은 무엇입니까?
데이터베이스 : 오라클 12C
PLSQL 버전 : 버전 11.0.6.1776
declare
-- Non-scalar parameters require additional processing
v_Data DBMS_OUTPUT.CHARARR;
v_NumLines NUMBER;
begin
-- Call the procedure
-- Procedure that will generate DMBS_OUTPUT.PUT_LINEs
executeProcFoo();
v_NumLines := 1000;
DBMS_OUTPUT.GET_LINES(v_Data, v_NumLines);
FOR v_Counter IN 1..v_NumLines LOOP
--output putlines from get_lines
DBMS_OUTPUT.put_line(v_Data(v_Counter));
END LOOP;
end;
dbms_output.chararr'은 이미'varchar2'의 배열입니다. 'varchar2'로 변환하면 무엇을 의미합니까? 하나의 긴 문자열로 원하니? 또는 호출 프레임 워크와 더 호환되는 다른 콜렉션 유형으로이를 게시해야합니까? –
하나의 긴 문자열로 예. 호출하는 Java 응용 프로그램에 결과를 하나의 문자열로 반환하고 싶습니다. – haju
왜? 확실히 Java에는 배열이 있습니까? 그러나 어쨌든 배열을 반복하여 적절한 텍스트 변수에 추가하십시오. 나는 아직도 기술적 인 문제를 보지 않고있다. –