MQReceive() 函数会从 WMQ 队列返回消息,并且从队列除去该消息。
MQReceive() 函数会从 service_name 指定的 WMQ 位置返回消息(使用服务质量策略 policy_name)。此函数会从与 service_name 关联的队列除去消息。如果指定了 correl_id,将返回具有匹配的相关标识的第一条消息。如果不指定 correl_id,将返回队列的第一条消息。函数的结果是 LVARCHAR 类型的字符串。如果无可返回的消息,此函数将返回 NULL。
用途 | 自变量解释 |
---|---|
MQReceive() | 无自变量 |
MQReceive(arg1) | arg1 = service_name |
MQReceive(arg1, arg2) | arg1 = service_name arg2 = policy_name |
MQReceive(arg1, arg2, arg3) | arg1 = service_name arg2 = policy_name arg3 = correl_id |
begin; EXECUTE FUNCTION MQReceive(); commit;
insert into my_order_table VALUES(MQReceive());
begin; EXECUTE FUNCTION MQReceive('MYSERVICE'); rollback;
insert into my_order_table VALUES(MQReceive('MYSERVICE'));
begin; EXECUTE FUNCTION MQReceive('MYSERVICE','MYPOLICY'); commit;
insert into my_order_table VALUES(MQReceive('MYSERVICE', 'MYPOLICY'));
begin; EXECUTE FUNCTION MQReceive('MYSERVICE','MYPOLICY','1234'); commit;
insert into my_order_table VALUES(MQReceive('MYSERVICE', 'MYPOLICY', '1234'));