Question

J'essaie de rechercher l'équivalent DB2 de generate_series (). (le moyen PostgreSQL de générer des lignes). Je ne veux évidemment pas coder en dur les lignes avec un VALEURS déclaration.

select * from generate_series(2,4);

    generate_series
    -----------------
                    2
                    3
                    4
    (3 rows)
Était-ce utile?

La solution

La clause where doit être un peu plus explicite sur les limites de la récursion pour que DB2 supprime l'avertissement. Voici une version légèrement ajustée qui ne déclenche pas l'avertissement:

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

Autres conseils

J'ai réussi à écrire une requête récursive qui correspond à:

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 requête peut être adaptée à tout ce dont vous pouvez rêver (;;).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top