这些postgres关键字如何协同工作?

时间:2017-07-14 20:15:46

标签: sql postgresql

insert into flushtest select x, repeat('1234567890', 100) from generate_series(2, 100) x

我理解insert,select,repeat和generate_series是个别项目,但我很难理解他们在这里的互动?如果有人可以解释查询正在做什么以及每个部分如何对此做出贡献,我将不胜感激。

1 个答案:

答案 0 :(得分:2)

generate_series(2, 100)生成99行,从2到100生成数字,正如您在此查询中看到的那样:

select x from generate_series(2, 100) as x;

接下来,repeat('1234567890', 100)在此结果集中添加了一个额外的列,在每个行中生成一个包含100个重复'1234567890'的字符串,请参阅

select x, repeat('1234567890', 100) from generate_series(2, 100) x;

最后,insert into flushtest获取结果集(正如我所说,有99行和2列)并将其插入flushtest表。