只是想知道你是否可以帮我解决一个问题。 我被告知写一个函数或匿名块,直到你把一个项目放在一个表/ 该程序应每5秒检查一次条目。它应该输出一条消息,通知您发生了检查。一旦找到条目,它将通知您它找到了条目,删除条目然后退出。
我一直试图完成这个,但没有运气。
非常感谢任何帮助。
谢谢。
你必须使用while循环并帮助你通过调用dbms_lock.sleep(5)来控制5秒;
答案 0 :(得分:0)
我无权访问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;