すべてのプロダクト
Search
ドキュメントセンター

PolarDB:DBMS_OUTPUT

最終更新日:Jun 04, 2024

組み込みのDBMS_OUTPUTパッケージは、メッセージバッファにメッセージを送信したり、メッセージバッファからメッセージを取得したりするために使用されます。

サブプログラム

サブプログラム

説明

ENABLEプロシージャ

メッセージ出力を有効にします

DISABLEプロシージャ

メッセージ出力を無効にします。

PUTプロシージャ

バッファにメッセージを入力します。

PUT_LINEプロシージャ

バッファにメッセージを出力します。

NEW_LINEプロシージャ

バッファに改行を入力します。

GET_LINEプロシージャ

バッファからメッセージの行を取得します。

GET_LINESプロシージャ

バッファからすべての行の配列を取得します。

説明

SERVEROUTPUTパラメーターは、プログラムの実行中に生成される出力メッセージの宛先を指定します。

  • このパラメーターがONに設定されている場合、メッセージは標準出力に送信されます。 PolarDBでは、このパラメーターはデフォルトでONに設定されています。

  • このパラメータがOFFに設定されている場合、メッセージはバッファに送信されます。

ENABLEプロシージャ

このストアドプロシージャは、PUT、PUT_LINE、NEW_LINE、およびGET_LINEストアドプロシージャの呼び出しを有効にするために使用されます。

構文

DBMS_OUTPUT.ENABLE (INTEGER DEFAULT 20000のbuffer_size);

Parameters

パラメーター

説明

buffer_size

(オプション) メッセージバッファの最大長。 デフォルト値: 20000 単位:バイト

次の例は、DBMS_OUTPUT.ENABLEを使用してメッセージ出力ストアドプロシージャを呼び出す方法を示しています。

<bx id="1" type="code" text="code code="-こんにちは、PolarDB!
開始
DBMS_OUTPUT.ENABLE;
セットSERVEROUTPUT = ON;
DBMS_OUTPUT.PUT_LINE('Hello, PolarDB!');
END;"id=" xednza "title=" "uuid=" linwvarly9hs8qmlm5 "data-tag=" codeblock "outputclass=" language-postgresql ""/>-- Hello、PolarDB!
BEGIN
    DBMS_OUTPUT.ENABLE;
    セットSERVEROUTPUT = ON;
    DBMS_OUTPUT.PUT_LINE('Hello, PolarDB!');
エンド; 
説明
SERVEROUTPUTパラメーターが有効になっている場合、DBMS_OUTPUT.ENABLE( ) を呼び出してPUT、PUT_LINE、NEW_LINE、およびGET_LINEストアドプロシージャの呼び出しを有効にする必要はありません。

DISABLEプロシージャ

このストアドプロシージャは、バッファをクリーニングし、メッセージ出力を無効にするために使用されます。 ENABLEまたはSERVEROUTPUTパラメーターを設定して、メッセージ出力を再度有効にすることができます。

構文

DBMS_OUTPUT.DISABLE();

メッセージ出力を無効にする例を次に示します。

<bx id="1" type="code" text="code code=" -- NULL
開始
セットSERVEROUTPUT = OFF;
DBMS_OUTPUT.DISABLE;
DBMS_OUTPUT.PUT_LINE('Hello, PolarDB!');
END;"id=" dducll "title=" "uuid=" linwwq473r13zyx79v7 "data-tag=" codeblock "outputclass=" language-postgresql ""/>-- NULL
開始
    セットSERVEROUTPUT = OFF;
    DBMS_OUTPUT.DISABLE;
    DBMS_OUTPUT.PUT_LINE('Hello, PolarDB!');
エンド; 

PUTプロシージャ

このストアドプロシージャは、メッセージをバッファに入力するために使用される。

構文

DBMS_OUTPUT.PUT (VARCHAR2のアイテム);

Parameters

パラメーター

説明

項目

バッファに入力するメッセージ。

行メッセージの一部をバッファに入力する例を次に示します。

<bx id="1" type="code" text="code code="-こんにちは、PolarDB!
開始
DBMS_OUTPUT.PUT('Hello, ');
DBMS_OUTPUT.PUT('PolarDB!');
DBMS_OUTPUT.NEW_LINE;
END;"id=" wg9xlm "title=" "uuid=" linx9u8clms6vximvs "data-tag=" codeblock "outputclass=" language-postgresql ""/>-こんにちは、PolarDB!
BEGIN
    DBMS_OUTPUT.PUT('Hello, ');
    DBMS_OUTPUT.PUT('PolarDB!');
    DBMS_OUTPUT.NEW_LINE;
エンド; 

PUT_LINEプロシージャ

このストアドプロシージャは、バッファにメッセージを出力するために使用されます。

構文

DBMS_OUTPUT.PUT_LINE (VARCHAR2のアイテム);

Parameters

パラメーター

説明

項目

出力するメッセージ。

次に、バッファにメッセージの行を出力する例を示します。

<bx id="1" type="code" text="code id=" ocrgwb "title=" "uuid=" linxm7t9c6nkp7unplq "code="-こんにちは、PolarDB!
開始
DBMS_OUTPUT.PUT_LINE('Hello, PolarDB!');
END;"data-tag=" codeblock "outputclass=" language-postgresql ""/>-こんにちは、PolarDB!
BEGIN
    DBMS_OUTPUT.PUT_LINE('Hello, PolarDB!');
エンド; 

NEW_LINEプロシージャ

このストアドプロシージャは、バッファに改行を書き込むために使用される。

構文

DBMS_OUTPUT.NEW_LINE();

次の例は、バッファーに改行を書き込む方法を示しています。

<bx id="1" type="code" text="code id=" zfqgfu "title=" "uuid=" linxssf9o2zuz7won5j "code="-こんにちは、PolarDB!
開始
DBMS_OUTPUT.PUT('Hello, PolarDB!');
DBMS_OUTPUT.NEW_LINE;
END;"data-tag=" codeblock "outputclass=" language-postgresql ""/>-こんにちは、PolarDB!
BEGIN
    DBMS_OUTPUT.PUT('Hello, PolarDB!');
    DBMS_OUTPUT.NEW_LINE;
エンド; 

GET_LINEプロシージャ

このストアドプロシージャは、バッファからメッセージのラインを検索するために使用される。

構文

<bx id="1" type="code" text="code id=" e3bfa7c308m2r "title=" "uuid=" linwgp56dy3oofoekp5 "code=" DBMS_OUTPUT.GET_LINE (行OUT VARCHAR2、status OUT INTEGER);"data-tag=" codeblock "outputclass=" language-postgresql ""/>DBMS_OUTPUT.GET_LINE (行OUT VARCHAR2、
                      ステータスOUT INTEGER); 

Parameters

パラメーター

説明

メッセージバッファからテキスト行を受け取るために使用される変数。

status

メッセージバッファからテキスト行が返された場合、値0が返されます。 テキストが返されない場合、値1が返されます。

次の例は、バッファからデータを取得し、そのデータを変数に挿入する方法を示しています。

<bx id="1" type="code" text="code id=" 9tz7yb "title=" "uuid=" linxykcz6b9g5sa8h6y "code=" DECLARE
ラインVARCHAR2;
ステータスINTEGER;
開始
line := '';
セットSERVEROUTPUT = OFF;
DBMS_OUTPUT.PUT_LINE('Hello, PolarDB!');
セットSERVEROUTPUT = ON;

DBMS_OUTPUT.GET_LINE (ライン、ステータス);
-- line: こんにちは、PolarDB! status: 0
DBMS_OUTPUT.PUT_LINE (行 | | '| | ステータス);

DBMS_OUTPUT.GET_LINE (ライン、ステータス);
-- status is 1
DBMS_OUTPUT.PUT_LINE (行 | | '| | ステータス);
END;"data-tag=" codeblock "outputclass=" language-postgresql ""/>DECLARE
    ラインVARCHAR2;
    ステータスINTEGER;
開始
    line := '';
    セットSERVEROUTPUT = OFF;
    DBMS_OUTPUT.PUT_LINE('Hello, PolarDB!');
    セットSERVEROUTPUT = ON;

    DBMS_OUTPUT.GET_LINE (ライン、ステータス);
    -- line: こんにちは、PolarDB! status: 0
    DBMS_OUTPUT.PUT_LINE (行 | | '| | ステータス);

    DBMS_OUTPUT.GET_LINE (ライン、ステータス);
    -- status is 1
    DBMS_OUTPUT.PUT_LINE (行 | | '| | ステータス);
エンド; 

GET_LINESプロシージャ

このストアドプロシージャは、バッファから行のアレイを検索するために使用される。

構文

<bx id="1" type="code" text="code id=" f4a7817308sht "title=" "uuid=" linwgqlstxdpe8qwxdm "code=" DBMS_OUTPUT.GET_LINE (行OUT VARCHAR2[] 、numlines INOUT INTEGER);"data-tag=" codeblock "outputclass=" language-postgresql ""/>DBMS_OUTPUT.GET_LINE (行OUT VARCHAR2[] 、
                      numlines INOUT INTEGER); 

Parameters

パラメーター

説明

lines

メッセージバッファからテキストの行を受け取るために使用される配列。

numlines

このパラメーターがINに設定されている場合、バッファから取得するテキストの行数が返されます。

このパラメーターがOUTに設定されている場合、システムは実際に読み取られるテキストの行数を返します。

次の例は、バッファーから行の配列を取得する方法を示しています。

<bx id="1" type="code" text="code id=" tzlmrf "title=" "uuid=" linyb7x42lwzsfjvr5 "code=" DECLARE
ラインVARCHAR2[];
numline INTEGER;
アイテムVARCHAR2;
開始
numline := 3;
セットSERVEROUTPUT = OFF;
DBMS_OUTPUT.PUT_LINE('Hello');
DBMS_OUTPUT.PUT_LINE('PolarDB');
セットSERVEROUTPUT = ON;

DBMS_OUTPUT.GET_LINES (ライン、numline);

-- こんにちは
-- PolarDB
-- 総ライン: 2
ARRAYラインLOOPのFOREACHアイテム
DBMS_OUTPUT.PUT_LINE (アイテム);
エンドループ;
DBMS_OUTPUT.PUT_LINE('Total lines:'| | numline);
エンド;
"data-tag=" codeblock "outputclass=" language-postgresql ""/>DECLARE
    ラインVARCHAR2[];
    numline INTEGER;
    アイテムVARCHAR2;
開始
    numline := 3;
    セットSERVEROUTPUT = OFF;
    DBMS_OUTPUT.PUT_LINE('Hello');
    DBMS_OUTPUT.PUT_LINE('PolarDB');
    セットSERVEROUTPUT = ON;

    DBMS_OUTPUT.GET_LINES (ライン、numline);

    -- こんにちは
    -- PolarDB
    -- 総ライン: 2
    ARRAYラインLOOPのFOREACHアイテム
      DBMS_OUTPUT.PUT_LINE (アイテム);
    END LOOP;
    DBMS_OUTPUT.PUT_LINE('Total lines:'| | numline);
エンド;