Вот один из вариантов:
- дата (время) начала заметки
- выход из l oop по истечении определенного времени
Я не собираюсь ждать 1 час, поэтому я использовал 0,1 минуты = 6 секунд.
SQL> create table test (datum date);
Table created.
SQL> declare
2 l_mins_to_exit number := 0.1; -- Exit in 0.1 minutes = 6 seconds.
3 -- You'd put 60 in here
4 l_start date;
5 l_minutes number;
6 begin
7 l_start := sysdate;
8
9 loop
10 insert into test (datum) values (sysdate);
11
12 l_minutes := (sysdate - l_start) * 24 * 60;
13 exit when l_minutes > 0.1;
14 end loop;
15 end;
16 /
PL/SQL procedure successfully completed.
SQL> select min(datum), max(datum) from test;
MIN(DATUM) MAX(DATUM)
------------------- -------------------
30.01.2020 12:57:07 30.01.2020 12:57:13
SQL>
Как видите, разница между датами MIN
и MIN
действительно составляет 6
секунды. .
Сколько строк я вставил?
SQL> select count(*) from test;
COUNT(*)
----------
448624
SQL>
Я не знаю, что вы собираетесь делать; Надеюсь, на диске достаточно места для миллионов строк.