我正在尝试搜索generate_series()的DB2等价物(PostgreSQL生成行的方式)。我显然不想用VALUES语句对行进行硬编码。
select * from generate_series(2,4);
generate_series
-----------------
2
3
4
(3 rows)
答案 0 :(得分:9)
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
答案 1 :(得分:3)
我设法写了一个适合的递归查询:
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
查询可以适应您梦寐以求的(;;)。