आपने कहा:
आपको बस TXN की अवधि के लिए एक साझा रीड लॉक की आवश्यकता है। इसका अर्थ यह है कि किसी अन्य प्रक्रिया को TABLOCK के साथ "राइट" लॉक नहीं मिल सकता है। और आपको COUNT की भी आवश्यकता नहीं है।
...
BEGIN TRANSANCTION
SELECT TOP 1 KeyCol FROM TheTable WITH (TABLOCK, HOLDLOCK)
...
आपको क्यों लगता है कि आप एक अद्यतन लॉक चाहते हैं?
टिप्पणी के बाद संपादित करें:
- "अनन्य लॉक" का अर्थ है "डेटा का उपयोग करने वाली केवल एक प्रक्रिया"।
- "SERIALIZABLE" का मूल रूप से अर्थ है ताले (साझा, अनन्य, जो कुछ भी) को अधिक समय तक पकड़ना।
आप "अनन्य लॉक" निर्दिष्ट नहीं कर सकते और अन्य प्रक्रियाओं को पढ़ने की अनुमति दें। अवधारणाएं परस्पर अनन्य हैं। आप संपूर्ण तालिका में लेखन को रोकना चाहते हैं, जो एक जारी . है साझा/रीड लॉक करेगा। यहीं पर सीरियल आता है।
"लॉक मोड्स" से
इसलिए:एक साझा लॉक लिखने की अनुमति नहीं देता है और इसे SERIALIZABLE बनाकर जारी रखा जा सकता है