सबसे पहले, न्यूनतम . पर आपको एक SELECT ... FOR UPDATE करना चाहिए इसलिए आप पंक्तियों को अन्य SELECT ... FOR [SHARE|UPDATE] . के सामने लॉक कर दें पहुँच। आपको इसे लेन-देन के अंदर करना होगा और उस लेन-देन को तब तक रोकना होगा जब तक आप अंतिम पंक्ति को अपडेट नहीं करते और commit .
वे पंक्तियाँ जिन्हें आप SELECT ... FOR UPDATE नहीं सामान्य के विरुद्ध लॉक किया गया SELECT; वे अभी भी अन्य लेन-देन के लिए पठनीय हैं जो FOR UPDATE . का उपयोग नहीं कर रहे हैं या FOR SHARE ।
बेहतर अभी भी, पूरी बात को UPDATE ... FROM . के रूप में फिर से लिखने का प्रयास करें या अन्य सेट-आधारित ऑपरेशन जहां आप एक ही प्रश्न में सभी काम करते हैं। यह आम तौर पर SELECT ... FOR UPDATE . की तुलना में व्यापक रूप से बेहतर प्रदर्शन करेगा उसके बाद UPDATE . की एक धारा एस.