generate_series() - 如何使用它在表中填充多个列



我有一个具有以下结构的表:

widgetnumber - text
dd  - text 
refnumber - text

widgetnumber和refnumber需要用相同的值填充...一个使用generate_series生成的。
DD将是一个设置的静态值。

我有以下代码:

INSERT INTO widgets(widgetnum, dd, refnum)
SELECT i
FROM generate_series(100, 150) AS t(i), 
'somestaticstring',
SELECT p
FROM generate_series(100, 150) AS t(p);

但是我必须在某个地方有语法错误,因为这是不起作用的。我会收到以下错误:

psql:addwidgets.sql:11: ERROR:  syntax error at or near "'somestaticstring'"
LINE 4: 'somestaticstring',
        ^

我尝试了

我试图将静态文本周围的单引号更改为加倍。我也尝试过:

INSERT INTO widgets(widgetnum, dd, refnum)
SELECT i
FROM generate_series(100, 150) AS t(i), 
SELECT 'somestaticstring',
SELECT p
FROM generate_series(100, 150) AS t(p);

,但这也会因语法错误而失败。

使其成为选择语句的一部分:

INSERT INTO widgets(widgetnum, dd, refnum)
SELECT i::text, 'somestaticstring', i::text
FROM generate_series(100, 150) AS t(i), 

您可以像普通的插入选择

一样对待它
INSERT INTO widgets
SELECT generate_series(100,150), 'somestaticstring', generate_series(100,150)

相关内容

  • 没有找到相关文章

最新更新