คำถามติดแท็ก sql-returning

6
วิธีใช้ RETURNING ด้วย ON CONFLICT ใน PostgreSQL
ฉันมี UPSERT ต่อไปนี้ใน PostgreSQL 9.5: INSERT INTO chats ("user", "contact", "name") VALUES ($1, $2, $3), ($2, $1, NULL) ON CONFLICT("user", "contact") DO NOTHING RETURNING id; หากไม่มีข้อขัดแย้งมันจะคืนค่าดังนี้: ---------- | id | ---------- 1 | 50 | ---------- 2 | 51 | ---------- แต่ถ้ามีข้อขัดแย้งมันจะไม่ส่งคืนแถวใด ๆ : ---------- | id | ---------- ฉันต้องการส่งคืนidคอลัมน์ใหม่หากไม่มีความขัดแย้งหรือส่งคืนidคอลัมน์ที่มีอยู่ของคอลัมน์ที่ขัดแย้งกัน …

6
ฉันสามารถใช้ค่าส่งกลับของ INSERT … RETURNING ใน INSERT อื่นได้หรือไม่
สิ่งนี้เป็นไปได้หรือไม่? INSERT INTO Table2 (val) VALUES ((INSERT INTO Table1 (name) VALUES ('a_title') RETURNING id)); เช่นเดียวกับการใช้ค่า return เป็นค่าเพื่อแทรกแถวในตารางที่สองโดยอ้างอิงกับตารางแรก?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.