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

首頁 > 數據庫 > Oracle > 正文

Oracle系統包——DBMS_PIPE用法

2024-08-29 13:54:33
字體:
來源:轉載
供稿:網友
Oracle系統包——DBMS_PipE用法DBMS_PIPE包用于在同一例程(實例)的不同會話之間進行通信;注意,如果用戶要執行包dbms_pipe中的過程和函數,則必須要為用戶授權。sql>conn sys/oracle as sysdba;sql>grant execute on dbms_pipe to scott; 一、管道:1)、公有管道:所有數據庫用戶可訪問。2)、私有管道:只能建立管道的數據庫用戶可訪問。二、DBMS_PIPE包的過程和函數解析CREATE_PIPE:用于建立公用管道或私有管道。如果將參數PRivate設置為TRUE,則建立私有管道;如果設置為FALSE,則建立公用管道。eg:   declare   falg int;begin   flag:=dbms_pipe.create_pipe('public_pipe',8192,false);   if flag=0 then      dbms_output.put_line('建立公用管道成功');   end if;end;/ PACK_MESSAGE:用于將消息寫入到本地消息緩沖區SEND_MESSAGE:用于將本地消息緩沖區中的內容發送到管道RECEIVE_MESSAGE:用于接收管道消息NEXT_ITEM_TYPE:用于確定本地消息緩沖區下一項的數據類型。如果該函數返回0,則表示管道沒有任何消息;如果返回6,則表示下一項的數據類型為number;如果返回9,則表示下一項的數據類型為varchar2;如果返回11,則表示下一項的數據類型為rowid;如果返回12,則表示下一項的數據類型為date;如果返回23,則表示下一項的數據類型為raw.UNPACK_MESSAGE:用于將消息緩沖區的內容寫入到變量中.REMOVE_PIPE:用于刪除已經建立的管道PUGER:用于清除管道中的內容RESET_BUFFER:用于復位管道緩沖區UNIQUE_session_NAME:用于為特定會話返回惟一的名稱,并且名稱的最長度為30字節.案例:1、創建一個發消息的過程:CREATE OR REPLACE PROCEDURE SEND_MESSAGE(PIPENAME VARCHAR2,                                         MESSAGE  VARCHAR2) IS  FLAG NUMBER;BEGIN  FLAG := DBMS_PIPE.CREATE_PIPE(PIPENAME);  IF FLAG = 0 THEN    DBMS_PIPE.PACK_MESSAGE(MESSAGE);    FLAG := DBMS_PIPE.SEND_MESSAGE(PIPENAME);  END IF;END;/ 2、創建一個接收消息的包CREATE OR REPLACE PROCEDURE RECEIVE_MESSAGE(PIPENAME VARCHAR2,                                            MESSAGE  OUT VARCHAR2) IS  FLAG NUMBER;BEGIN  FLAG := DBMS_PIPE.RECEIVE_MESSAGE(PIPENAME);  IF FLAG = 0 THEN    DBMS_PIPE.UNPACK_MESSAGE(MESSAGE);    FLAG := DBMS_PIPE.REMOVE_PIPE(PIPENAME);  END IF;END;/ 3、運行包--在一個會話中執行:exec send_message('pipe','I send message');--在另一會話中執行:var message varchar2(200);exec receive_message('pipe',:message);print message; 執行結果如下:PL/SQL procedure successfully completedmessage———I send message
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 禄丰县| 雷波县| 淅川县| 石屏县| 襄城县| 普兰店市| 营口市| 平邑县| 阿拉尔市| 和平区| 方正县| 瓦房店市| 庄浪县| 台安县| 乌兰县| 公安县| 古丈县| 内丘县| 商河县| 太谷县| 报价| 安宁市| 伊通| 交口县| 湖南省| 三都| 盘山县| 元朗区| 库尔勒市| 方正县| 抚宁县| 浪卡子县| 股票| 阳西县| 万载县| 女性| 潼南县| 碌曲县| 铜川市| 八宿县| 铜川市|