while 循环检查时间

While loops checking with time

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

多年来我一直在努力完成这个,但没有成功。

如有任何帮助,我们将不胜感激。

谢谢。

您必须使用 while 循环,为了帮助您,可以通过调用 dbms_lock.sleep(5);

来控制 5 秒

我无法访问 Oracle 数据库,但这里有一个关于它如何工作的一般概念 (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;