Oracle高級(jí)隊(duì)列(Advanced Queue)簡單實(shí)例
更新時(shí)間:2017年04月20日 08:52:18 投稿:lqh
這篇文章主要介紹了Oracle高級(jí)隊(duì)列(Advanced Queue)簡單實(shí)例的相關(guān)資料,需要的朋友可以參考下
Oracle高級(jí)隊(duì)列(Advanced Queue)簡單實(shí)例
最簡單的高級(jí)隊(duì)列的練習(xí),基本上都使用了默認(rèn)參數(shù)。
-- Create Type
create or replace type note as Object(
subject varchar2(100),
Content varchar2(2000),CreateTime date
);
-- Create queue table
begin
sys.dbms_aqadm.create_queue_table(
queue_table => 'NOTETAB',
queue_payload_type => 'TEST.NOTE'
end;
--create queue
begin
sys.dbms_aqadm.create_queue(
queue_name => 'NOTEQ',
queue_table => 'NOTETAB',
queue_type => sys.dbms_aqadm.normal_queue,
max_retries => 5,
retry_delay => 0,
retention_time => 0);
end;
--enqueue
declare
v_Message note;
v_MsgId RAW(16);
v_options DBMS_AQ.ENQUEUE_OPTIONS_T;
v_properties DBMS_AQ.MESSAGE_PROPERTIES_T;
v_Recipients DBMS_AQ.AQ$_RECIPIENT_LIST_T;
begin
v_Message:=note(subject => 'note3',Content => 'content3',createTime => sysdate);
-- v_Recipients(0) := sys.aq$_agent('NOTE','MTQ',0);
-- v_properties.recipient_list := v_Recipients;
v_options.visibility :=DBMS_AQ.IMMEDIATE;
dbms_aq.enqueue(queue_name => 'noteq',enqueue_options => v_options,message_properties => v_properties,payload => v_Message,msgid => v_MsgId);
dbms_output.put_line('encode success,msgid is '||v_MsgId);
end;
--dequeue
declare
v_Message note;
v_MsgId RAW(16);
v_options DBMS_AQ.DEQUEUE_OPTIONS_T;
v_properties DBMS_AQ.MESSAGE_PROPERTIES_T;
v_Recipients DBMS_AQ.AQ$_RECIPIENT_LIST_T;
begin
-- v_Recipients(0) := sys.aq$_agent('NOTE','MTQ',0);
-- v_properties.recipient_list := v_Recipients;
v_options.visibility :=DBMS_AQ.IMMEDIATE;
dbms_aq.dequeue(queue_name => 'noteq',dequeue_options => v_options,message_properties => v_properties,payload => v_Message,msgid => v_MsgId);
dbms_output.put_line('decode success,msgid is '||v_MsgId);
dbms_output.put_line('subject is '||v_Message.subject);
dbms_output.put_line('Content is '||v_Message.Content);
dbms_output.put_line('createTime is '||to_char(v_Message.createTime,'yyyy-mm-dd hh24:mi:ss'));
end;
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
Oracle?11g+windows?環(huán)境下Ecology7系統(tǒng)安裝過程
這篇文章主要介紹了Oracle?11g+windows?環(huán)境下Ecology7系統(tǒng)安裝,安裝步驟是以管理員模式運(yùn)行Oracle setup.exe文件,根據(jù)提示安裝Oracle,創(chuàng)建數(shù)據(jù)庫,注意修改連接數(shù),本文給大家詳細(xì)講解,需要的朋友可以參考下2022-10-10
Oracle SQL Developer腳本輸出中文顯示亂碼的解決方法
我們?cè)跍y試Oracle Select AI(自然語言查詢數(shù)據(jù)庫)時(shí),發(fā)現(xiàn)Run Statement中文顯示正常,而Run Script中文顯示亂碼,所以本文給大家介紹了Oracle SQL Developer腳本輸出中文顯示亂碼的解決方法,需要的朋友可以參考下2024-05-05
oracle數(shù)據(jù)庫在客戶端建立dblink語法
oracle服務(wù)器沒有建立目標(biāo)數(shù)據(jù)庫的TNS時(shí),在客戶端(有權(quán)限的情況下)建立dblink語法如下,有需求的朋友可以參考下哈2013-05-05
Oracle數(shù)據(jù)庫的系統(tǒng)結(jié)構(gòu)
這篇文章主要介紹了Oracle數(shù)據(jù)庫的系統(tǒng)結(jié)構(gòu),Oracle數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)(Storage Structure)分為物理存儲(chǔ)結(jié)構(gòu)和邏輯存儲(chǔ)結(jié)構(gòu)兩種,分別描述了在操作系統(tǒng)中和數(shù)據(jù)庫系統(tǒng)內(nèi)部數(shù)據(jù)的組織管理方式,需要的朋友可以參考下2023-07-07
oracle 在一個(gè)存儲(chǔ)過程中調(diào)用另一個(gè)返回游標(biāo)的存儲(chǔ)過程
實(shí)際項(xiàng)目當(dāng)中經(jīng)常需要在一個(gè)存儲(chǔ)過程中調(diào)用另一個(gè)存儲(chǔ)過程返回的游標(biāo),本文列舉了兩種情況講述具體的操作方法。2009-09-09

