MQReadClob() 函数

MQReadClob() 函数会从 WMQ 返回 CLOB 类型的消息,但不从队列除去该消息。

语法

service_name
可选参数。引用 "gbasedbt".mqiservice 表的 servicename 列中的值。如果不指定 service_name,将把 IDS.DEFAULT.SERVICE 用作服务。service_name 的最大大小为 48 个字节。
policy_name
可选参数。引用 "gbasedbt".mqipolicy 表的 policyname 列中的值。如果不指定 policy_name,将把 IDS.DEFAULT.POLICY 用作策略。policy_name 的最大大小为 48 个字节。
correl_id
可选参数。一个字符串,其中包含要与此消息关联的相关标识。通常在请求与回复场景中指定 correl_id,以便将请求与回复关联。correl_id 的最大大小为 24 个字节。如果不指定,将不向消息添加任何相关标识。

用途

MQReadClob() 函数会从 service_name 指定的 WMQ 位置返回 CLOB 类型的消息(使用 policy_name 中定义的服务质量策略)。此函数不会从与 service_name 关联的队列除去消息。如果指定了 correl_id,将返回具有匹配的相关标识的第一条消息。如果不指定 correl_id,将返回队列的第一条消息。此函数的结果是 CLOB 类型。如果无可返回的消息,此函数将返回 NULL。此函数仅读取已落实的消息。

下表描述 MQReadClob() 函数自变量的解释方式。
表 1. MQReadClob() 自变量解释
用途 自变量解释
MQReadClob() 无自变量
MQReadClob(arg1) arg1 = service_name
MQReadClob(arg1, arg2) arg1 = service_name

arg2 = policy_name

MQReadClob(arg1, arg2, arg3) arg1 = service_name

arg2 = policy_name

arg3 = correl_id

返回码

CLOB 类型的消息内容
操作成功。如果无可用消息,结果将为 NULL。
错误
操作失败。

示例

示例 1
begin;
EXECUTE FUNCTION MQReadClob();
commit;
此外,也可以使用以下语法:
insert into my_order_table(clob_col) VALUES(MQReadClob());
此示例使用以下参数将队列的第一条消息内容读取为 CLOB:
  • service_name:缺省服务名称
  • policy_name:缺省策略名称
  • correl_id:无
示例 2
begin;
EXECUTE FUNCTION MQReadClob('MYSERVICE');
rollback;
此外,也可以使用以下语法:
insert into my_order_table(clob_col)
 VALUES(MQReadClob('MYSERVICE'));
此示例使用以下参数将队列的第一条消息内容读取为 CLOB:
  • service_name:“MYSERVICE”
  • policy_name:缺省策略名称
  • correl_id:无
示例 3
begin;
EXECUTE FUNCTION MQReadClob('MYSERVICE','MYPOLICY');
commit;
此外,也可以使用以下语法:
insert into my_order_table(clob_col)
 VALUES(MQReadClob('MYSERVICE', 'MYPOLICY'));
此示例使用以下参数将队列的第一条消息内容读取为 CLOB:
  • service_name:“MYSERVICE”
  • policy_name:“MYPOLICY”
  • correl_id:无
示例 4
begin;
EXECUTE FUNCTION MQReadClob('MYSERVICE','MYPOLICY', 'TESTS');
commit;
此外,也可以使用以下语法:
insert into my_order_table(clob_col)
 VALUES(MQReadClob('MYSERVICE', 'MYPOLICY', 'TESTS'));
此示例使用以下参数将队列的第一条消息内容读取为 CLOB:
  • service_name:“MYSERVICE”
  • policy_name:“MYPOLICY”
  • correl_id:“TESTS”