ผู้บริโภคคิวหลายตัวต้องไม่รอแถวที่ผู้อื่นล็อกอยู่ แต่ให้ข้ามไปทำแถวอื่นใน PostgreSQL คลอสใดตรงกับพฤติกรรมนี้

กFOR UPDATE NOWAIT เพื่อแจ้งข้อผิดพลาดทันที
ขFOR UPDATE SKIP LOCKED เพื่อข้ามแถวที่ล็อก
คFOR UPDATE เพื่อรอจนได้ล็อกตามปกติ
งFOR UPDATE OF queue เพื่อจำกัดเฉพาะตารางเป้าหมาย

เฉลยอธิบาย

SKIP LOCKED ทำให้ข้ามแถวที่ยังล็อกไม่ได้ จึงเหมาะกับผู้บริโภคหลายตัวของงานลักษณะคิว แม้ผลที่เห็นอาจไม่สอดคล้องครบทุกแถว ส่วน NOWAIT ซึ่งใกล้เคียงกันเพียงหลีกเลี่ยงการรอ จะรายงานข้อผิดพลาดแทนการข้ามแถว

ข้อสอบอื่นในวิชาการใช้ภาษา SQL

ดูข้อสอบวิชานี้ทั้งหมด →