PACK_MESSAGE 関数 - ローカル・メッセージ・バッファーにデータ項目を入れる

PACK_MESSAGE 関数は、セッションのローカル・メッセージ・バッファーにデータ項目を入れます。

構文

構文図を読む構文図をスキップするDBMS_PIPE.PACK_MESSAGE (item)

プロシージャー・パラメーター

item
式を含む、タイプ VARCHAR(4096)、DATE、または DECFLOAT の入力引数。 この式によって戻される値は、セッションのローカル・メッセージ・バッファーに追加されます。
ヒント: タイプ RAW のデータ項目をローカル・メッセージ・バッファーに入れるには、PACK_MESSAGE_RAW プロシージャーを使用します。

許可

DBMS_PIPE モジュールに対する EXECUTE 特権。

PACK_MESSAGE 関数を使用して Sujata に対するメッセージをローカル・メッセージ・バッファーに入れ、次に SEND_MESSAGE プロシージャーを使用して、このメッセージをパイプ上に送信します。

SET SERVEROUTPUT ON@ 

CREATE PROCEDURE proc1()
BEGIN
  DECLARE    v_status    INTEGER;
  DECLARE    status	     INTEGER;
  SET status = DBMS_PIPE.PACK_MESSAGE('Hi, Sujata');
  SET status = DBMS_PIPE.PACK_MESSAGE('Can you attend a meeting at 3:00, today?');
  SET status = DBMS_PIPE.PACK_MESSAGE('If not, is tomorrow at 8:30 ok with you?');
  SET v_status = DBMS_PIPE.SEND_MESSAGE('pipe');
  CALL DBMS_OUTPUT.PUT_LINE('SEND_MESSAGE status: ' || v_status);
END@

CALL proc1@

この例では、以下の出力が結果として戻ります。

  SEND_MESSAGE status: 0

使用上の注意

PACK_MESSAGE 関数または PACK_MESSAGE_RAW プロシージャーを少なくとも一度呼び出してから、SEND_MESSAGE 呼び出しを発行する必要があります。