CREATE_PIPE 関数 - パイプを作成する

CREATE_PIPE 関数は、指定された名前でパブリックまたはプライベート・パイプを 明示的に作成します。

明示的なパブリックまたはプライベート・パイプについて詳しくは、DBMS_PIPE モジュールに関するトピックを参照してください。

構文

構文図を読む構文図をスキップするDBMS_PIPE.CREATE_PIPE (pipename,maxpipesize ,private)

戻り値

この関数は、パイプが正常に作成された場合は、状況コード 0 を戻します。

関数のパラメーター

pipename
パイプの名前を指定する、タイプ VARCHAR (128) の入力引数。 パイプについて詳しくは、DBMS_PIPE モジュールを参照してください。
maxpipesize
パイプの最大容量をバイト単位で指定する、タイプ INTEGER のオプション入力引数。 デフォルトは 8192 バイトです。
private
パイプのアクセス・レベルを指定するオプション入力引数。
非パーティション・データベース環境の場合
値が「0」または「FALSE」の場合は、パブリック・パイプが作成されます。
値が「1」または「TRUE」の場合は、プライベート・パイプが作成されます。 これはデフォルトです。
パーティション・データベース環境の場合
値が「0」の場合は、パブリック・パイプが作成されます。
値が「1」の場合は、プライベート・パイプが作成されます。 これはデフォルトです。

許可

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

例 1: 名前付きメッセージであるプライベート・パイプを作成します。

SET SERVEROUTPUT ON@ 

CREATE PROCEDURE proc1()
BEGIN
  DECLARE	v_status        INTEGER;
  SET v_status = DBMS_PIPE.CREATE_PIPE('messages');
  DBMS_OUTPUT.PUT_LINE('CREATE_PIPE status: ' || v_status);
END@

CALL proc1@

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

CREATE_PIPE status: 0

例 2 名前付きメールボックスであるパブリック・パイプを作成します。

SET SERVEROUTPUT ON@ 

CREATE PROCEDURE proc2()
BEGIN
  DECLARE	v_status INTEGER;
  SET v_status = DBMS_PIPE.CREATE_PIPE('mailbox',0);
  DBMS_OUTPUT.PUT_LINE('CREATE_PIPE status: ' || v_status);
END@

CALL proc2@

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

CREATE_PIPE status: 0