我有一个表,我想每秒检查该表的状态列,如果值为 1,则发送一条消息,如果值为 2,则发送另一条消息。
我该怎么做?
我的oracle是21.3,apex是20.1,ords 21.4
这可以使用 ajax 回调过程来实现。下面是一个 ajax 进程的示例,该进程获取相同的随机 ename(来自 emp/dept),并每 3 秒在页面项 P51_ENAME_RANDOM_JSON 中设置该值。
DECLARE
l_emp emp%ROWTYPE;
BEGIN
SELECT *
INTO l_emp
FROM emp
ORDER BY dbms_random.value fetch first 1 rows only;
APEX_JSON.open_object; -- employee {
APEX_JSON.write('ename', l_emp.ename);
APEX_JSON.close_object; -- }
APEX_JSON.free_output;
END;
$(document).ready(function() {
setInterval('getRandomEnameJson()', 3000);
});
function getRandomEnameJson () {
apex.server.process(
'GETMESSAGE', Callback name
{},
{
success: function (pData) {
console.log(pData);
apex.item( "P51_ENAME_RANDOM_JSON" ).setValue(pData.ename);
},
dataType: "json"
}
);
}