У нас есть Oracle 12c AQ с полезной нагрузкой UDT, содержащей атрибут XMLType. Можем ли мы создать уведомление, которое срабатывает, когда атрибут XMLType соответствует некоторым критериям?Как использовать Oracle для уведомления об изменениях XML
Я не видел никаких примеров этого онлайн.
Редактировать => Только получать уведомления о новых сообщениях, где xml часть полезной нагрузки соответствует некоторым критериям. Что-то вроде:
DECLARE subscriber sys.aq$_agent;
begin
subscriber := sys.aq$_agent('SUBSCRIBER_1', null, NULL);
DBMS_AQADM.ADD_SUBSCRIBER(Queue_name => 'MYUSER.MY_LOVELY_Q'
, Subscriber => subscriber
, Rule => 'tab.user_data.myXMLAttr <matches some criteria>');
end;
Этот подписчик получит уведомление только в том случае, если XML-часть полезной нагрузки соответствует критериям. < = Конец Редактировать
спасибо за все усилия, чтобы создать этот пример для меня. Я ищу что-то вроде следующего шага. Только получать уведомления о новых сообщениях, где xml часть полезной нагрузки соответствует некоторым критериям. Что-то вроде: DECLARE подписчик sys.aq $ _agent; начало подписчик: = sys.aq $ _agent ('SUBSCRIBER_1', null, NULL); DBMS_AQADM.ADD_SUBSCRIBER (Queue_name => 'MYUSER.MY_LOVELY_Q', подписчик => подписчик, Rule => 'tab.user_data.myXMLAttr <соответствует некоторым критериям>'); конец; Этот абонент получит уведомление только в том случае, если XML-часть полезной нагрузки соответствует критериям. – shindigo
Поймите, и вы можете это сделать. 'ADD_SUBSCRIBER (... rule => 'tab.user_data.myXMLAttr.extract (' '/ x_paTH TO ELEMENT' '). GetStringVal() =' 'sOMETHING' '') '' –