gpt4 book ai didi

sql - Postgresql 中此 CTE 的正确方法

转载 作者:行者123 更新时间:2023-11-29 14:36:23 28 4
gpt4 key购买 nike

我的目标是获取 Soggetto 条目中的 id 并将其填充到 tipo 和 tipo2 中。我不知道如何通过 nodejs 中的 pg 在 Postgres 中以正确的方式编写此 CTE。我有点困惑。

var query = client.query('WITH retid AS (INSERT INTO "Soggetto" (nome, cognome, "regSociale", "partIVA") VALUES ($1, $2, $3, $4) RETURNING id ), INSERT INTO "Tipologia" (privato, azienda) VALUES ($5, $6) SELECT id FROM retid, INSERT INTO "Tipologia2" (cliente, fornitore) VALUES ($7, $8) SELECT id FROM retid ',
[sog.nome, sog.cognome, sog.ragioneSociale, sog.partitaIva, sog.cliente, sog.fornitore, sog.privato, sog.azienda], function(err, result){
if(err){
console.log(err);
}else{
res.writeHead(200, {'content-type': 'text/plain'});
res.end('Insert ok');
}
});

最佳答案

语法不正确。目前还不清楚您到底想要什么,但每个 CTE 都需要有自己的名称。所以,像这样:

WITH retid AS (
INSERT INTO "Soggetto" (nome, cognome, "regSociale", "partIVA")
VALUES ($1, $2, $3, $4)
RETURNING id
),
t as (
INSERT INTO "Tipologia" (privato, azienda)
VALUES ($5, $6)
),
t2 as (
INSERT INTO "Tipologia2" (cliente, fornitore)
VALUES ($7, $8)
)
SELECT id
FROM retid;

关于sql - Postgresql 中此 CTE 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44045268/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com