如何把一个结果RETURNING
子句为SELECT
PostgreSQL中? 也就是说,我想SELECT
语句返回任何RETURNING
回报。
我曾尝试以下两种语法,他们都不工作:
(1) SELECT (INSERT INTO ... RETURNING *)
(2) SELECT * FROM (INSERT INTO ... RETURNING *) ...
你可能会问,为什么我试图做到这一点,尽管RETURNING
已经给我想要的结果? 这是因为我有利用两个结构WITH
条款,并插入将是第二个,但我也需要第一个结果。 (请参阅相关的问题 。)
备注:很遗憾,我不能提供具体的SQL查询(因为它是在一个封闭源代码的产品),但我认为这个问题是通用的,足以可以回答没有这个具体查询。
编辑新增例如:
假设我们有这个表:
CREATE TABLE test(id INT, name VARCHAR)
这工作:
INSERT INTO test VALUES (1, 'Joe') RETURNING *
我试图做的,但不工作:
SELECT INSERT INTO test VALUES (1, 'Joe') RETURNING *
SELECT * FROM INSERT INTO test VALUES (1, 'Joe') RETURNING *