當使用給出DBMS_OUTPUT.CHARARR結果的DBMS_OUTPUT.GET_LINES時,如何將其轉換爲varchar2?我想使用DBMS_OUTPUT.GET_LINES來獲取我的所有DBMS_PUTLINE語句,並將它們作爲字符串返回給調用程序。如何將DBMS_OUTPUT.GET_LINES轉換爲VARCHAR2?
數據庫:Oracle 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有數組?但無論如何,只需循環遍歷數組,將其附加到合適的文本變量。我仍然沒有看到技術問題。 –