32.3 SDO_TRKR.GET_NOTIFICATION_MSG

書式

SDO_TRKR.GET_NOTIFICATION_MSG(
   tracking_set_name IN VARCHAR2,
   deq_wait          IN NUMBER(38) DEFAULT DBMS_AQ.NO_WAIT,
   message           OUT NOTIFICATION_MSG);

説明

追跡セット通知キューから次の通知メッセージを取得します。

パラメータ

tracking_set_name

追跡セットの名前。このパラメータは、通知キューの名前を作成するために使用します。

deq_set_wait

検索基準に一致するメッセージがキューに存在しない場合に、メッセージが通知キューに着信するのを待機する秒数。このパラメータのデフォルトはDBMS_AQ.NO_WAITで、操作は待機しないことを意味します。

message

NOTIFICATION_MSG型の出力パラメータ。通知キューの次のメッセージ、または待機時間が失効した場合はnull。

使用上のノート

位置追跡サーバーの概念および使用方法については、「位置追跡サーバー」を参照してください。

次の例では、通知メッセージを追跡セットの通知キューから取得し、メッセージの内容を追跡セットの補助通知表に挿入します。メッセージの着信がないまま30秒間待機するまで、通知メッセージは取得され続けます。

...
 LOOP
   SDO_TRKR.GET_NOTIFICATION_MSG(
     tracking_set_name => 'TRACKING_EXAMPLE', 
     message => message, 
     deq_wait =>30);
   IF (message IS NULL) THEN
     EXIT;
   END IF;
   INSERT INTO tracking_example_notifications (object_id, region_id,
                                               time, x, y, state)
   VALUES (message.object_id, 
           message.region_id, 
           message.time,
           message.x, 
           message.y, 
           message.state);
 END LOOP; 
...