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

16
แทรกเมื่อมีการอัพเดทซ้ำใน PostgreSQL?
หลายเดือนที่ผ่านมาฉันได้เรียนรู้จากคำตอบใน Stack Overflow วิธีดำเนินการอัปเดตหลายรายการพร้อมกันใน MySQL โดยใช้ไวยากรณ์ต่อไปนี้: INSERT INTO table (id, field, field2) VALUES (1, A, X), (2, B, Y), (3, C, Z) ON DUPLICATE KEY UPDATE field=VALUES(Col1), field2=VALUES(Col2); ตอนนี้ฉันเปลี่ยนมาใช้ PostgreSQL แล้วและนี่ก็ไม่ถูกต้อง มันหมายถึงตารางที่ถูกต้องทั้งหมดดังนั้นฉันคิดว่ามันเป็นเรื่องของการใช้คำหลักที่แตกต่างกัน แต่ฉันไม่แน่ใจว่าในเอกสาร PostgreSQL ที่ครอบคลุมนี้ เพื่อชี้แจงฉันต้องการแทรกหลายสิ่งและหากมีอยู่แล้วเพื่ออัปเดต

6
วิธี UPSERT (รวมแทรก ... ในการอัปเดตซ้ำซ้อน) ใน PostgreSQL
คำถามที่ถามบ่อยมากที่นี่คือวิธีการเพิ่มความโกรธซึ่งเป็นสิ่งที่ MySQL เรียกINSERT ... ON DUPLICATE UPDATEและมาตรฐานรองรับเป็นส่วนหนึ่งของการMERGEดำเนินการ เนื่องจาก PostgreSQL ไม่สนับสนุนโดยตรง (ก่อนหน้า 9.5) คุณจะทำอย่างไร พิจารณาสิ่งต่อไปนี้: CREATE TABLE testtable ( id integer PRIMARY KEY, somedata text NOT NULL ); INSERT INTO testtable (id, somedata) VALUES (1, 'fred'), (2, 'bob'); ตอนนี้คิดว่าคุณต้องการที่จะ "upsert" tuples (2, 'Joe'), (3, 'Alan')ดังนั้นเนื้อหาตารางใหม่จะเป็น: (1, 'fred'), (2, 'Joe'), -- Changed …

6
ORA-30926: ไม่สามารถรับชุดแถวที่มั่นคงในตารางต้นทาง
ฉันได้รับ ORA-30926: ไม่สามารถรับชุดแถวที่มั่นคงในตารางต้นทาง ในแบบสอบถามต่อไปนี้: MERGE INTO table_1 a USING (SELECT a.ROWID row_id, 'Y' FROM table_1 a ,table_2 b ,table_3 c WHERE a.mbr = c.mbr AND b.head = c.head AND b.type_of_action <> '6') src ON ( a.ROWID = src.row_id ) WHEN MATCHED THEN UPDATE SET in_correct = 'Y'; ฉันรันtable_1มันมีข้อมูลและฉันก็รันเคียวรีภายใน ( src) …
129 oracle  sql-merge 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.