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:创建名为 messages 的专用管道:

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:创建名为 mailbox 的公用管道:

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