我有这个插入查询:
INSERT INTO passation
VALUES
(default,0,0,0,0,SELECT extract(YEAR FROM now()),'Nouvelle Passation','Téléphonique',now(),'Normale',0)
但是这一年不起作用,我不知道为什么,请帮助,因为单独它起作用:
SELECT extract(YEAR FROM now())
这是Postgres错误:
ERROR: syntax error at or near "SELECT"
LINE 2: ...default,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,SELECT ext...
^
********** Erreur **********
ERROR: syntax error at or near "SELECT"
État SQL :42601
Caractère : 82
我必须将年份变成变量吗?
答案 0 :(得分:0)
从SELECT
声明中删除INSERT
:
INSERT INTO passation
VALUES (
DEFAULT,
0,
0,
0,
0,
extract(YEAR FROM now()),
'Nouvelle Passation',
'Téléphonique',
now(),
'Normale',
0
);
答案 1 :(得分:0)
不要使用SELECT
- 使用表达式"原样":
INSERT INTO passation
VALUES
(default,0,0,0,0,extract(YEAR FROM now()),'Nouvelle Passation','Téléphonique',now(),'Normale',0)
在线示例:http://rextester.com/NBB7282
请注意,不指定目标列会被视为错误的编码样式。类似的东西:
INSERT INTO passation (id, col1, col2, ....)
values ....
更好。
显然,您也试图将周数存储在另一列中。我不会这样做。只需将now()
的值存储在一个列中。这样,您可以随时存储完整的信息,然后随时提取年,月,日,秒或任何您想要的任何信息。