Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Pgsql。返回字段作为函数中的插入结果_Postgresql - Fatal编程技术网

Postgresql Pgsql。返回字段作为函数中的插入结果

Postgresql Pgsql。返回字段作为函数中的插入结果,postgresql,Postgresql,我可以将id作为插入结果返回,如 INSERT INTO table(id,field) VALUES($id,$value) RETURNING id; 但我不能返回它并将其赋值到函数中 var = INSERT INTO table(id,field) VALUES($id,$value) RETURNING id; 或 不要工作。 我该怎么做?试试这个: INSERT INTO table(id,field) VALUES($id,$value) RETURNING id into v

我可以将id作为插入结果返回,如

INSERT INTO table(id,field) VALUES($id,$value) RETURNING id;
但我不能返回它并将其赋值到函数中

var = INSERT INTO table(id,field) VALUES($id,$value) RETURNING id;

不要工作。 我该怎么做?

试试这个:

INSERT INTO table(id,field)
VALUES($id,$value)
RETURNING id into var;
您还可以使用:

var := (INSERT INTO table(id,field) VALUES($id,$value) RETURNING id);

可读性当然是个人的偏好,但我喜欢这种语法,因为它显示了一个明显的赋值。

您使用的是什么版本的postgres。我在语句中发现语法错误。我也喜欢这种语法。@nXqd:那是两年前的事了!我想我使用的是PG 9.2.x左右。如果它在函数/proc的主体中,请尝试不使用冒号。如果您在
plpgsql
函数中使用它,则需要先输入变量。@确定吗?适用于我的v9.6。
var := (INSERT INTO table(id,field) VALUES($id,$value) RETURNING id);