PostgreSQL:我需要在CTE中返回任何内容吗?
我曾经听说CTE(带有语句)需要返回一些东西。否则,它可能不会被执行 我有以下CTE简化结构:PostgreSQL:我需要在CTE中返回任何内容吗?,postgresql,return,Postgresql,Return,我曾经听说CTE(带有语句)需要返回一些东西。否则,它可能不会被执行 我有以下CTE简化结构: WITH selectA AS ( SELECT ... ), insertA AS ( INSERT INTO ... -- selecting something from selectA RETURNING ... ), insertB AS ( INSERT INTO ... -- selecting something from select
WITH
selectA AS (
SELECT ...
),
insertA AS (
INSERT INTO ...
-- selecting something from selectA
RETURNING ...
),
insertB AS (
INSERT INTO ...
-- selecting something from selectA and insertA
-- HERE no RETURNING!
),
selectB AS (
SELECT ...
-- selecting something from selectA and insertA
),
insertForms AS (
INSERT INTO ...
-- selecting something from selectB
-- HERE no RETURNING!
),
insertFormData AS (
INSERT INTO ...
-- selecting something from selectB
-- HERE no RETURNING!
)
SELECT ...
-- selecting something from insertA and selectB
它的工作,但我想知道我是否击中任何角落的情况下,导致所有的CTE零件得到执行。
在PostgreSQL文档中,我没有找到一个明确的提示,说明CTE中是否需要返回部件
有人对此有好的想法吗?
非常感谢 “但我想知道我是否遇到了任何紧急情况”——这种行为有充分的记录
如果省略RETURNING,则语句仍会执行,但它不会生成输出,因此主查询无法将其作为表引用
“但我想知道我是否遇到了任何紧急情况”——这种行为有充分的记录
如果省略RETURNING,则语句仍会执行,但它不会生成输出,因此主查询无法将其作为表引用
谢谢。我怎么会错过呢谢谢。我怎么会错过呢