Генерация временной последовательности

Функция

Определение оператора генерации временной числовой последовательности в заданном диапазоне.

Спецификация
   
< генерация временной последовательности >::=
SELECT LEVEL FROM (SELECT 1) CONNECT BY LEVEL <  значение
Синтаксические правила
  1. Значение – целочисленное значение в диапазоне от 1 до 500 млн.

Общие правила
  1. Конструкция возвращает один столбец с именем LEVEL, содержащий все значения заданной последовательности.

  2. Генерируемая временная последовательность доступна только во время выполнения SQL-запроса, использующего эту последовательность.

Примеры
  1. Страховая компания выпустила очередную серию из 100000 страховых полисов, начинающуюся с номера 200000. Информация о всех номерах страховых полисах заносится в таблицу med_polis (с помощью двух запросов) и используется затем для:

    • выдачи очередного полиса (номер берется из числа свободных);

    • аннулирования полиса;

    • проверки подлинности предъявленного полиса;

    • определения количество не выданных полисов.

    create or replace table med_polis(id_polis int, "ФИО" varchar(30), "Дата выдачи" date) as select level, cast '' as varchar, cast null as date from (select 1) connect by level <  1000001;
    
    update med_polis  set id_polis = id_polis +199999;

  2. select model, personid
      from auto,
           (SELECT LEVEL as LV FROM (SELECT 1) CONNECT BY LEVEL <  31) as counter
     where auto.personid=counter.LV(+)
       and counter.LV is NULL limit 10;