PACK_MESSAGE_RAW 过程 - 将类型为 RAW 的数据项放在本地消息缓冲区中

PACK_MESSAGE_RAW 过程将类型为 RAW 的数据项放在会话的本地消息缓冲区中。

语法

阅读语法图跳过直观语法图DBMS_PIPE.PACK_MESSAGE_RAW (item)

过程参数

item
类型为 BLOB(4096) 的输入自变量,用于指定表达式。此表达式返回的值将添加至会话的本地消息缓冲区。

权限

对 DBMS_PIPE 模块的 EXECUTE 特权。

示例

使用 PACK_MESSAGE_RAW 过程将类型为 RAW 的数据项放到本地消息缓冲区中。

SET SERVEROUTPUT ON@ 

CREATE PROCEDURE proc1()
BEGIN
  DECLARE v_raw           BLOB(100);
  DECLARE v_raw2	  BLOB(100);
  DECLARE v_status        INTEGER;
  SET v_raw = BLOB('21222324'); 
  SET v_raw2 = BLOB('30000392'); 
  CALL DBMS_PIPE.PACK_MESSAGE_RAW(v_raw);
  CALL DBMS_PIPE.PACK_MESSAGE_RAW(v_raw2);
  SET v_status = DBMS_PIPE.SEND_MESSAGE('datatypes');
  CALL DBMS_OUTPUT.PUT_LINE('SEND_MESSAGE status: ' || v_status);
END@

CALL proc1@

此示例生成以下输出:

SEND_MESSAGE status: 0

使用说明

在发出 SEND_MESSAGE 调用之前,必须至少调用一次 PACK_MESSAGE 函数或 PACK_MESSAGE_RAW 过程。