Выполнить SQL запрос для указанного c времени - PullRequest
0 голосов
/ 30 января 2020

Как выполнить запрос sql (вставить в таблицу) в базе данных oracle в течение определенного c промежутка времени (60 минут) в al oop.

1 Ответ

0 голосов
/ 30 января 2020

Вот один из вариантов:

  • дата (время) начала заметки
  • выход из 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>

Я не знаю, что вы собираетесь делать; Надеюсь, на диске достаточно места для миллионов строк.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...