当前位置: 移动技术网 > IT编程>数据库>Oracle > Oracle高级队列(Advanced Queue)简单实例

Oracle高级队列(Advanced Queue)简单实例

2017年12月08日  | 移动技术网IT编程  | 我要评论

吉他手法,婚姻算命 生辰八字,拯救耶尼库

oracle高级队列(advanced queue)简单实例

最简单的高级队列的练习,基本上都使用了默认参数。

-- 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;

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网