generate_series () equivalente in DB2
-
03-07-2019 - |
Domanda
Sto cercando di cercare l'equivalente DB2 di generate_series () (il modo PostgreSQL di generare righe). Ovviamente non voglio codificare le righe con un VALUES statement.
select * from generate_series(2,4);
generate_series
-----------------
2
3
4
(3 rows)
Soluzione
La clausola where deve essere un po 'più esplicita sui limiti della ricorsione per consentire a DB2 di sopprimere l'avviso. Ecco una versione leggermente modificata che non attiva l'avvertimento:
with dummy(id) as (
select 2 from SYSIBM.SYSDUMMY1
union all
select id + 1 from dummy where id < 4
)
select id from dummy
Altri suggerimenti
Sono riuscito a scrivere una query ricorsiva adatta:
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 query può essere adattata a qualsiasi cosa tu possa desiderare (;;).
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow