如何在 DB2 中使用循环?

How to use loop in DB2?

我想插入 with 循环,但我找不到合适的例子。


关于 k = 1 到 10

插入 TABLEA

SELECT 第 1 列 + k,第 2 列 + k,第 3 列

来自表格

第 1 列 + k <= 第 4 列


如何使用循环或while来实现上面的插入?

您不需要任何程序语句即可获得此结果。您可以使用递归 cte 构建 k 的列表,然后在与 TABLEB

的连接中使用它
insert into tablea
with loop(k) as (
  values 1
  union all select k+1 from loop where k < 10
)
select
  column1 + k,column2 + k,column3
from tableb
  cross join loop
where column1 + k <= column4