23

我可以返回 id 作为INSERT结果,比如

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

但我不能返回它并将变量分配给我的函数

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

或者

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

不工作。我该怎么做?

4

2 回答 2

47

尝试这个:

INSERT INTO table(id,field)
VALUES($id,$value)
RETURNING id into var;
于 2013-08-20T13:14:32.827 回答
10

您还可以使用:

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

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

于 2013-08-20T13:48:28.140 回答