Pregunta

Estoy intentando buscar el equivalente de DB2 de generate_series () (la forma PostgreSQL de generar filas). Obviamente no quiero codificar las filas con un VALUES declaración.

select * from generate_series(2,4);

    generate_series
    -----------------
                    2
                    3
                    4
    (3 rows)
¿Fue útil?

Solución

La cláusula where debe ser un poco más explícita sobre los límites de la recursión para que DB2 suprima la advertencia. Aquí hay una versión ligeramente ajustada que no activa la advertencia:

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

Otros consejos

Logré escribir una consulta recursiva que se ajuste a:

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

La consulta se puede adaptar a lo que sea para (;;) que puedas soñar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top