"dbms_cq_notification.cq_notification_queryid“对这个SELECT做了什么?我只是在学习CQN。我也相信mgr_id没有被使用,或者它被使用了?
DECLARE
reginfo cq_notification$_reg_info;
mgr_id NUMBER;
dept_id NUMBER;
v_cursor SYS_REFCURSOR;
regid NUMBER;
qosflags NUMBER;
BEGIN
qosflags := DBMS_CQ_NOTIFICATION.QOS_QUERY + DBMS_CQ_NOTIFICATION.QOS_ROWIDS;
reginfo := cq_notification$_reg_info('chnf_callback', qosflags,0, 0, 0);
regid := DBMS_CQ_NOTIFICATION.NEW_REG_START(reginfo);
OPEN v_cursor FOR
SELECT DBMS_CQ_NOTIFICATION.CQ_NOTIFICATION_QUERYID,
manager_id
FROM HR.employees
WHERE employee_id = 7902;
CLOSE v_cursor;
OPEN v_cursor for
SELECT DBMS_CQ_NOTIFICATION.CQ_NOTIFICATION_QUERYID,
department_id
FROM HR.departments
WHERE department_name = 'IT';
CLOSE v_cursor;
DBMS_CQ_NOTIFICATION.REG_END;
END;我把它从这里拿走了,https://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_cqnotif.htm#ARPLS65637
发布于 2018-03-04 19:36:10
假设您注册了"n“个查询。
一个小时后,您的应用程序将收到已注册查询的结果已更改的通知。是哪个查询?你怎么知道的?这就是ID的用途。您的通知客户端可以被告知是哪个查询导致了通知。如果您不关心哪个查询发起了事件,那么您就不需要它。
https://stackoverflow.com/questions/49078569
复制相似问题