国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

ORACLE存儲過程管道通信的例子

2024-08-29 13:38:55
字體:
來源:轉載
供稿:網友

  /*
  管道通信的例子程序
  注重:1要明文給于用戶 EXECUTE ANY PROCEDURE 權力可能正常使用DBMS_PipE
   2設定:set serveroutput on
  共有兩個過程writepipe和readpipe
  在sqlplus中通過@writepipe.sql的方式執行,可以創始過程writepipe和readpipe
  通過 call writepipe('我的測試信息'); 寫信息
  用 call readpipe() 讀信息
  2002年4月12日
  */
  
  CREATE OR REPLACE PROCEDURE writepipe(msg VARCHAR2) AS
   n integer;
   status NUMBER;
  BEGIN
  -- DBMS_PIPE.PACK_MESSAGE(LENGTH(msg));
   DBMS_PIPE.PACK_MESSAGE(msg); --把信息放入緩沖區
   status := DBMS_PIPE.SEND_MESSAGE('mypipe',1); --信息放入管道mypipe,系統等待時間為1秒
  --假如status := DBMS_PIPE.SEND_MESSAGE('mypipe');那么就是等待1000天
   IF status != 0 THEN
   raise_application_error(-20099, 'Debug error');
   END IF;
  END;
  /
  CREATE OR REPLACE PROCEDURE readpipe AS
  info varchar(30);
  status integer;
  begin
  --接受等待時間為1秒,可以為0,立即調用或DBMS_PIPE.RECEIVE_MESSAGE('mypipe') 等待100天
   status:= DBMS_PIPE.RECEIVE_MESSAGE('mypipe',1);
  --status:= DBMS_PIPE.RECEIVE_MESSAGE('mypipe');
  --status為0為成功可以UNPACK_MESSAGE,1為超時沒有數據,2為信息太大,3為內部錯誤
   IF status <> 0 THEN
   DBMS_OUTPUT.PUT_LINE('沒有信息返回,返回狀態為:'status);
   return;
  -- RAISE_APPLICATION_ERROR(-20021,
   -- 'execute_sql: Error while receiving.
  -- Status = ' status);
   END IF;
  
   DBMS_PIPE.UNPACK_MESSAGE(info);
   DBMS_OUTPUT.PUT_LINE('INFO=' INFO);
  end;
  /

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 夹江县| 临朐县| 宝兴县| 石棉县| 秀山| 余江县| 民乐县| 泰顺县| 墨竹工卡县| 东至县| 巧家县| 印江| 阿尔山市| 乐亭县| 禄劝| 皮山县| 天水市| 张家川| 内江市| 桦南县| 湟源县| 丰都县| 来安县| 凤阳县| 彩票| 翁牛特旗| 镇巴县| 广西| 永春县| 武隆县| 云梦县| 色达县| 社旗县| 福泉市| 两当县| 阿拉尔市| 永年县| 巴林左旗| 合肥市| 浏阳市| 甘洛县|