Oracle database
set serveroutput off; DECLARE v_num INTEGER; BEGIN DBMS_OUTPUT.DISABLE; ...(3) DBMS_OUTPUT.ENABLE(20000); ...(4) DBMS_OUTPUT.PUT_LINE('-- ITEM CHECK --'); SELECT count(*) INTO v_num FROM t1; IF v_num = 0 THEN DBMS_OUTPUT.PUT_LINE('-- NO ITEM --'); ELSE DBMS_OUTPUT.PUT_LINE('-- IN ITEM(' || v_num || ') --'); END IF; END; / set serveroutput on; DECLARE v_buffs DBMSOUTPUT_LINESARRAY; ...(5) v_num INTEGER := 10; BEGIN DBMS_OUTPUT.GET_LINES(v_buffs, v_num); ...(5) FOR i IN 1..v_num LOOP DBMS_OUTPUT.PUT_LINE('LOG : ' || v_buffs(i)); ...(5) END LOOP; END; /
Symfoware Server
DO $$ DECLARE v_num INTEGER; BEGIN PERFORM DBMS_OUTPUT.SERVEROUTPUT(FALSE); PERFORM DBMS_OUTPUT.DISABLE(); ...(3) PERFORM DBMS_OUTPUT.ENABLE(20000); ...(4) PERFORM DBMS_OUTPUT.PUT_LINE('-- ITEM CHECK --'); SELECT count(*) INTO v_num FROM t1; IF v_num = 0 THEN PERFORM DBMS_OUTPUT.PUT_LINE('-- NO ITEM --'); ELSE PERFORM DBMS_OUTPUT.PUT_LINE('-- IN ITEM(' || v_num || ') --'); END IF; END; $$ ; DO $$ DECLARE v_buffs VARCHAR[]; ...(5) v_num INTEGER := 10; BEGIN PERFORM DBMS_OUTPUT.SERVEROUTPUT(TRUE); SELECT lines, numlines INTO v_buffs, v_num FROM DBMS_OUTPUT.GET_LINES(v_num); ...(5) FOR i IN 1..v_num LOOP PERFORM DBMS_OUTPUT.PUT_LINE('LOG : ' || v_buffs[i]); ...(5) END LOOP; END; $$ ;
Same as the NEW_LINE in the DBMS_OUTPUT package. Refer to NEW_LINE for information on specification differences and conversion procedures associated with specification differences.
Same as NEW_LINE in the DBMS_OUTPUT package. Refer to NEW_LINE for information on specification differences and conversion procedures associated with specification differences.
DBMS_OUTPUT.GET_LINES(firstArg, secondArg)
Obtained values are received with variables specified for arguments.
Since obtained values are the search results for DBMS_OUTPUT.GET_LINES, they are received with variables specified for the INTO clause of the SELECT statement.
Convert using the following procedure:
Locate the places where the keyword "DBMS_OUTPUT.GET_LINES" is used in the stored procedure.
Change the data type (DBMSOUTPUT_LINESARRAY in the example) of the variable (v_buffs in the example) specified as firstArg of DBMS_OUTPUT.GET_LINES into a VARCHAR type array (VARCHAR[] in the example).
Replace the DBMS_OUTPUT.GET_LINES location called with a SELECT INTO statement.
Use the literal "lines, numlines" in the select list.
Specify firstArg (v_buffs in the example) and secondArg (v_num in the example) configured in DBMS_OUTPUT.GET_LINES, in the INTO clause.
Use DBMS_OUTPUT.GET_LINES in the FROM clause. Specify only secondArg (v_num in the example) before modification.
Identify the location that references firstArg (v_buffs in the example), and change it to the PL/pgSQL array reference format (v_buffs[i] in the example).