Oracleデータベース
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;
/Fujitsu Enterprise Postgres
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;
$$
;DBMS_OUTPUTパッケージのNEW_LINEと同じです。記述差異および、記述差異に伴う移行手順については、NEW_LINEを参照してください。
DBMS_OUTPUTパッケージのNEW_LINEと同じです。記述差異および、記述差異に伴う移行手順については、NEW_LINEを参照してください。
DBMS_OUTPUT.GET_LINES(第1引数, 第2引数)
取得する値は、引数に指定した変数で受け取ります。
取得する値は、DBMS_OUTPUT.GET_LINESの検索結果なので、SELECT文のINTO句に指定した変数で受け取ります。
以下の手順で移行してください。
“DBMS_OUTPUT.GET_LINES”というキーワードでストアドプロシジャ内を検索し、呼び出し箇所を特定します。
DBMS_OUTPUT.GET_LINESの第1引数に指定している変数(例のv_buffs)のデータ型(例のDBMSOUTPUT_LINESARRAY)をVARCHAR型の配列(例のVARCHAR[])に変更します。
DBMS_OUTPUT.GET_LINESの呼び出し箇所を、SELECT INTO文に置き換えます。
選択リストに、lines, numlinesと記載します。
INTO句に、DBMS_OUTPUT.GET_LINESに設定した第1引数(例のv_buffs)と第2引数を引数(例のv_num)と同じ順番で記載します。
FROM句にDBMS_OUTPUT.GET_LINESを記載します。引数は修正前の第2引数(例のv_num)のみ指定します。
第1引数(例のv_buffs)を参照をしている箇所を洗い出し、PL/pgSQLの配列の参照形式(例のv_buffs[i])に変更します。