• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Oracle高级队列(Advanced Queue)简单实例

    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;
    
    

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

    上一篇:oracle11g 通过修改配置文件方式连接远程数据库的方法
    下一篇:Linux 7下脚本安装配置oracle 11g r2教程
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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