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;
只是想知道你是否可以帮我解决一个问题。 我被告知要编写一个函数或匿名块,它将 运行 直到你将一个项目放入 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;