эквивалент функции generate_series () в DB2 - PullRequest
8 голосов
/ 30 апреля 2009

Я пытаюсь найти в DB2 эквивалент generate_series () (способ генерации строк в PostgreSQL). Очевидно, я не хочу жестко кодировать строки с помощью оператора VALUES .

select * from generate_series(2,4);

    generate_series
    -----------------
                    2
                    3
                    4
    (3 rows)

Ответы [ 2 ]

9 голосов
/ 14 июня 2009

Предложение where должно быть немного более точным в отношении границ рекурсии, чтобы DB2 подавила предупреждение. Вот немного скорректированная версия, которая не вызывает предупреждение:

with dummy(id) as (
    select 2 from SYSIBM.SYSDUMMY1    
    union all
    select id + 1 from dummy where id < 4
)
select id from dummy
3 голосов
/ 30 апреля 2009

Мне удалось написать рекурсивный запрос, который подходит:

with dummy(id) as (
    select 2 from SYSIBM.SYSDUMMY1    
    union all
    select id + 1 from dummy where id + 1 between 2 and 4
)
select id from dummy

Запрос может быть адаптирован к тому, о чем (;;) вы можете мечтать.

...