MQRECEIVEALLCLOB

MQRECEIVEALLCLOB 関数は、CLOB 列で指定された MQSeries® ロケーションからのメッセージおよびメッセージ・メタデータが入った表を戻し、キューからメッセージを除去します。

構文図を読む構文図をスキップする
>>-MQRECEIVEALLCLOB--(--+----------------------------------------------------------+--+---------------------+--)-><
                        '-receive-service--+-------------------------------------+-'  |                 (1) |      
                                           '-,--service-policy--+--------------+-'    '-+---+--num-rows-----'      
                                                                '-,--correl-id-'        '-,-'                      

注:
  1. 先行する引数が関数に指定されている場合は、num-rows の前にコンマが必要です。
MQRECEIVEALLCLOB 関数は、service-policy で定義されたサービス品質ポリシーを使って、receive-service で指定された MQSeries ロケーションからのメッセージおよびメッセージ・メタデータが入った表を戻します。この処理を行うと、receive-service に関連付けられたキューからメッセ ージは除去されます。
receive-service
LOB 以外の組み込みの文字ストリング・データ・タイプまたはグラフィック・ストリング・データ・タイプの値を戻す式。式の値は、空ストリング、または末尾ブランクを含むストリングであってはなりません。 式の実際の長さは、48 バイトを超えてはなりません。 この式の値は、SYSIBM.MQSERVICE 表に定義されたサービス・ポイントを参照している必要があります。 サービス・ポイントは、メッセージの送信元または受信相手側の論理エンドポイントです。 サービス・ポイントの定義には、MQSeries キュー・マネージャーの名前およびキューの名前が含まれます。 MQSeries Application Messaging について詳しくは、「SQL プログラミング」を参照してください。

receive-service が指定されていないか NULL 値である場合、DB2®.DEFAULT.SERVICE が使用されます。

service-policy
LOB 以外の組み込みの文字ストリング・データ・タイプまたはグラフィック・ストリング・データ・タイプの値を戻す式。式の値は、空ストリング、または末尾ブランクを含むストリングであってはなりません。 式の実際の長さは、48 バイトを超えてはなりません。 この式の値は、SYSIBM.MQPOLICY 表に定義されたサービス・ポリシーを参照している必要があります。 サービス・ポリシーは、このメッセージ処理に適用されるサービス品質オプションのセットを指定します。 これらのオプションには、メッセージ優先順位やメッセージ持続性などがあります。MQSeries Application Messaging について詳しくは、「SQL プログラミング」を参照してください。

service-policy が指定されていないか NULL 値である場合、DB2.DEFAULT.POLICY が使用されます。

correl-id
LOB 以外の組み込みの文字ストリング・データ・タイプまたはグラフィック・ストリング・データ・タイプの値を戻す式。式の実際の長さは、24 バイトを超えてはなりません。 式の値は、このメッセージに関連付けられている相関 ID を指定します。 相関 ID は、しばしば、要求を応答に関連付けるために「要求と応答」シナリオで指定されます。 相関 ID が一致した最初のメッセージが戻されます。 MQSeries Application Messaging について詳しくは、「SQL プログラミング」を参照してください。

末尾ブランクを含む固定長ストリングは、有効な値として扱われます。ただし、correl-id を MQSEND など他の要求で指定する場合、一致していると認識されるためには、同じ correl-id を指定する必要があります。 例えば、前の MQSEND 要求時に「test」(末尾ブランクがある) という correl-id 値を指定し、MQRECEIVEALLCLOB の correl-id に「test」という値を指定しても一致しません。

correl-id が、指定されていない、空ストリングである、または NULL 値である場合、相関 ID は使用されず、キューの先頭のメッセージが戻されます。

num-rows
その値が正整数かゼロである SMALLINT または INTEGER データ・タイプの値を戻す式。式の値は、戻すメッセージの最大数を指定します。

num-rows が指定されないか、または式の値がゼロの場合、使用可能なす べてのメッセージが戻されます。

この関数の結果は、以下の表に示された形式の表です。列はすべてNULL 可能です。
表 1. MQRECEIVEALLCLOB の結果表の形式
列名 データ・タイプ 内容
MSG CLOB(2M) MQSeries メッセージの内容
CORRELID VARCHAR(24) メッセージを関連付けるために使用される相関 ID
TOPIC VARCHAR(40) 予約済み
QNAME VARCHAR(48) メッセージ受信相手先のキューの名前
MSGID VARCHAR(24) このメッセージの、MQSeries 割り当ての固有な ID
MSGFORMAT VARCHAR(8) MQSeries で定義されたメッセージの形式

結果列の CCSID は、現行サーバーにおけるデフォルト CCSID です。

前提条件: MQSeries の機能を使用するためには、IBM® MQSeries for IBM i がインストールおよび構成され、作動可能である必要があります。

  • この例は、デフォルト・サービス (DB2.DEFAULT.SERVICE) によって指定された、デフォルト・ポリシー (DB2.DEFAULT.POLICY) を使用するキューからすべてのメッセージを取り出します。これらのメッセージとすべてのメタデータが表として戻されます。
      SELECT *
       FROM TABLE (MQRECEIVEALLCLOB ()) AS T
        
  • この例は、サービス MYSERVICE によって指定された、デフォルト・ポリシー (DB2.DEFAULT.POLICY) を使用するキューの先頭からすべてのメッセージを取り出します。MSG 列と CORRELID 列のみが戻されます。
      SELECT T.MSG, T.CORRELID 
       FROM TABLE (MQRECEIVEALLCLOB ('MYSERVICE')) AS T
        
  • この例は、サービス「MYSERVICE」によって指定された、ポリシー「MYPOLICY」を使用するキューの先頭からすべてのメッセージを取り出します。CORRELID が '1234' のメッセージだけが戻されます。MSG 列と CORRELID 列のみが戻されます。
      SELECT *
       FROM TABLE (MQRECEIVEALLCLOB ('MYSERVICE','MYPOLICY','1234')) AS T
        
  • この例は、デフォルト・サービス (DB2.DEFAULT.SERVICE) によって指定された、デフォルト・ポリシー (DB2.DEFAULT.POLICY) を使用するキューの先頭から最初の 10 個のメッセージを取り出します。列はすべて戻されます。
      SELECT *
       FROM TABLE (MQRECEIVEALLCLOB (10)) AS T