我有一个具有以下结构的表:
widgetnumber - text
dd - text
refnumber - text
Run Code Online (Sandbox Code Playgroud)
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);
Run Code Online (Sandbox Code Playgroud)
但是我一定在某处有语法错误,因为这不起作用。我收到以下错误:
psql:addwidgets.sql:11: ERROR: syntax error at or near "'somestaticstring'"
LINE 4: 'somestaticstring',
^
Run Code Online (Sandbox Code Playgroud)
我试过的
我试图将静态文本周围的单引号更改为双引号。我也试过这个:
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);
Run Code Online (Sandbox Code Playgroud)
但这也因语法错误而失败
使其成为 select 语句的一部分:
INSERT INTO widgets(widgetnum, dd, refnum)
SELECT i::text, 'somestaticstring', i::text
FROM generate_series(100, 150) AS t(i),
Run Code Online (Sandbox Code Playgroud)
您可以将其视为正常的 INSERT SELECT
INSERT INTO widgets
SELECT generate_series(100,150), 'somestaticstring', generate_series(100,150)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9030 次 |
| 最近记录: |