0

只是想知道你是否可以帮助我一个问题。我被告知要编写一个函数或匿名块,该函数或匿名块将一直运行,直到您将项目放入表中/程序应每 5 秒检查一次条目。它应该输出一条消息,通知您进行了检查。一旦找到该条目,它将通知您它找到了该条目,删除该条目然后退出。

我一直在努力完成这个很久,但没有运气。

任何帮助将不胜感激。

谢谢你。

您必须使用 while 循环,并且可以通过调用 dbms_lock.sleep(5) 来帮助您控制 5 秒;

4

1 回答 1

0

我无权访问 Oracle DB,但这是它如何工作的一般概念(MySQL)

create table tt_mess_around (`id` INT, `name` VARCHAR(50));

delimiter \\
create procedure watcher ()

BEGIN
declare foundInsert INT default 0;
   while foundInsert = 0 do
      select id from tt_mess_around limit 1 into foundInsert;
      if (foundInsert = 0) then
         select 'sleeping for 5 seconds' from dual;
         do sleep(5);
      end if;
   end while;
   delete from tt_mess_around where id = foundInsert;
   select 'just deleted record' from dual;
END
\\
delimiter ;


call watcher;

insert into tt_mess_around 
select 1, 'Arianna' from dual;
于 2015-09-18T14:29:40.533 回答