样本 MQ 消息传递代码

本主题包含可使用 DB-Access 在 stores_demo 数据库中运行的样本 SQL 语句。

样本语句用于一个队列管理器。但是,您可以使用多个队列管理器。

begin;

select MQSEND ('lser.qm1', 'IDS.DEFAULT.POLICY',
       TRIM(fname)    || '  ' || TRIM(lname) || '|'
       || TRIM(company)  || ', ' || TRIM(address1) || ', '
       || TRIM(NVL(address2,"")) || ', ' || TRIM(city) || ', '
       || state || ', ' || zipcode || '|' || TRIM(phone) || '|' ,
      state)
     from customer;

select MQSEND ('lser.qm1', 'IDS.DEFAULT.POLICY',
       stock_num || '|' || manu_code || '|' || TRIM(description)
       || '|' || unit_price || '|' || unit
       || '|' || TRIM(unit_descr) || '|' ,
       manu_code)
     from stock;
commit;
select first 3 MQREAD('lser.qm1') from systables;
begin;
execute function MQREAD('lser.qm1','IDS.DEFAULT.POLICY','AZ');
rollback;begin;
execute function MQREAD ('lser.qm1');
execute function MQREAD ('lser.qm1');
execute function MQRECEIVE ('lser.qm1');
execute function MQRECEIVE ('lser.qm1');
rollback;begin;
select first 5 MQREAD ('lser.qm1') from systables;
select first 5 MQREAD ('lser.qm1') from systables;
select first 1 MQRECEIVE ('lser.qm1','IDS.DEFAULT.POLICY','AZ')
 from systables;
select first 1 MQRECEIVE ('lser.qm1','IDS.DEFAULT.POLICY','HSK')
 from systables;
rollback;begin;
select first 5 MQREAD ('lser.qm1') from systables;
select first 5 MQREAD ('lser.qm1') from systables;
select first 1 MQRECEIVE ('lser.qm1','IDS.DEFAULT.POLICY','AZ')
 from systables;
select first 1 MQRECEIVE ('lser.qm1','IDS.DEFAULT.POLICY','HSK')
 from systables;
commit;execute function mqinquire('lser.qm1',20);
execute function mqinquire('lser.qm1',"MQIA_Q_TYPE");
execute function mqinquire('lser.qm1',3);
execute function mqinquire('lser.qm1',"MQIA_CURRENT_Q_DEPTH");
execute function mqhasmessage('lser.qm1');
execute function mqhasmessage('lser.qm1','IDS.DEFAULT.POLICY','CA');
execute function mqhasmessage('lser.qm1','IDS.DEFAULT.POLICY','XY');

execute function MQCreateVtiRead("qm0vti", "lser.qm1");
execute function MQCreateVtiReceive("qm0vtir", "lser.qm1");
execute function MQCreateVtiWrite("qm0vtiw", "lser.qm1");
execute function MQCreateVtiReceive("qm1vti", "lser.qm1");

insert into qm0vtiw(msg) values ("GBasedbt Dynamic Server");
begin;

select skip 10 first 5 * from qm0vtir;
select * from qm1vti;
insert into qm1vti(msg) values ("GBasedbt Dynamic Server");
select * from qm1vti;
commit;