oracle高级队列3

Sql代码 复制代码
  1. create or replace procedure p102_mt_dequeue   
  2. (   
  3. p_equeue_name In varchar2, --队列名单大写字母,主队列:SMS_MT_QUEUE 备份队列:SMS_MT_QUEUE_BACKUP   
  4. p_client_id Out Number, --短信内部网关   
  5. p_res_str Out varchar2, --返回值 0 成功 -2 队列为空其它失败   
  6. p_label out varchar2, --标签   
  7. p_body out varchar2) --数据包体   
  8. Is/*   
  9. 功能: 出队列,返回给java程序   
  10. */   
  11. v_Dequeue_Options Dbms_Aq.Dequeue_Options_t;   
  12. v_Message_Properties Dbms_Aq.Message_Properties_t;   
  13. v_Message_Handle Raw(16);   
  14. v_Body_queue Mt_Struc;   
  15. v_label Varchar2(200);   
  16. v_body varchar2(1000);   
  17. res_str varchar2(20);   
  18. ---写日志区域   
  19. vPid NUMBER:=102;   
  20. vProName VARCHAR2(50):='p102_mt_dequeue';   
  21. vProTip VARCHAR2(255);   
  22. vErrorCode VARCHAR2(20);   
  23. vErrorMsg VARCHAR2(2000);   
  24. v_count Number;   
  25. Begin  
  26. --1 初始化   
  27. p_res_str:='-1' ;   
  28. --2 出队列设置属性   
  29. --???   
  30. --3 执行出队列操作   
  31. Select Count(0) Into v_count From sms_mt_tab Where q_name=p_equeue_name ;   
  32. If v_count >0 Then  
  33. dbms_aqadm.start_queue(p_equeue_name,enqueue=>true, dequeue=> true);   
  34. Dbms_Aq.Dequeue(Queue_Name => p_equeue_name,    
  35. Dequeue_Options => v_Dequeue_Options,   
  36. Message_Properties => v_Message_Properties,    
  37. Payload => v_Body_queue,    
  38. Msgid => v_Message_Handle);   
  39. -- 组和 label= 消息类型(CommandID)+运营商标识+地区标识(AreaID)+时间标识    
  40. -- 组合 body   
  41. --4 返回给java的包体   
  42. p103_change_label_body_str(v_Body_queue,res_str,v_label,v_body);   
  43. If res_str='0' Then  
  44. p_label :=v_label;   
  45. p_body :=v_body;   
  46. p_client_id:=v_Body_queue.CLIENT_ID;   
  47. --提交   
  48. Commit;   
  49. p_res_str:='0' ;   
  50. Else  
  51. p_res_str:='出队列后组串失败!' ;    
  52. End If;   
  53. Else  
  54. p_res_str:='队列里面没有数据,休息一下';   
  55. End If;   
  56. Exception   
  57. When Others Then  
  58. p_res_str:='-100';   
  59. vProTip:='出队过程异常!';   
  60. vErrorCode:=SQLCODE;   
  61. vErrorMsg:=SQLERRM;   
  62. p_pub_write_error_log(vPid,vProName,'','',   
  63. vProTip,vErrorCode,vErrorMsg,1);    
  64. Rollback;   
  65. end p102_mt_dequeue;  

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20945761/viewspace-586834/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20945761/viewspace-586834/

基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip基于MATLAB实现旅行推销员问题(TSP)的代码+项目说明(课程大作业)+测试数据.zip 【备注】 1、该资源内项目代码百分百可运行,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载!欢迎交流学习!不清楚的可以私信问我!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值