我有一个具有以下结构的表:
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)