我想在一张表的记录发生变化时,通过在出发器里发送一个消息,用dbms_alert.signal
在收到这个消息时,调用我的存储过程进行一些数据的运算,现在的问题时,我知道在这个表的触发器里我可以写dbms_alert.signal ;但接收消息的dbms_alert.waitone 写在什么地方呢?
有用过的没有
------解决方案--------------------
发送进程:
declare
v_alertName varchar2(30):= 'alert1 ';
begin
dbms_alert.signal(v_alertName, ' hello,this is sending process! ');
commit;
end;
/
接受进程:
declare
v_alertName varchar2(30):= 'alert1 ';
v_status integer;
v_msg varchar2(20);
begin
dbms_alert.register(v_alertName);
dbms_alert.waitone(v_alertName,v_msg,v_status);
if v_status !=0 then
dbms_output.put_line( 'error ');
end if;
dbms_output.put_line(v_msg);
end;
/