यदि आप एक ही प्रश्न में सभी अभिलेखों की पूछताछ कर रहे हैं, और उन्हें एक ही बार में वापस खींच रहे हैं, तो कोई आवश्यकता नहीं है। सब कुछ एक निहित लेनदेन में लिपटा हुआ है। यानी, भले ही आपको दस लाख रिकॉर्ड वापस मिल जाएं, और भले ही अन्य प्रक्रियाएं रिकॉर्ड बदल रही हों, आप देखेंगे कि एक ही समय में सभी दस लाख रिकॉर्ड कैसे दिखते थे।
केवल पढ़ने की प्रक्रिया में आपको वास्तव में लेनदेन (और, अक्सर, एक विशिष्ट लॉकिंग संकेत) की आवश्यकता होगी:
- आप रिकॉर्ड "टुकड़ा-भोजन" पढ़ते हैं और मूल्यों को बदलने के लिए और कुछ नहीं चाहिए हालांकि पुनरावृति। [जैसे एडीओ में एक कनेक्टेड रिकॉर्डसेट जिसे आप फिर कर्सर करते हैं।]
- आप कुछ डेटा पढ़ते हैं, कुछ गणना करते हैं, फिर कुछ संबंधित डेटा पढ़ते हैं, लेकिन इस धारणा पर इस बीच कुछ भी नहीं बदला।
संक्षेप में, आपको लेन-देन की आवश्यकता तब होती है जब आप चाहते हैं कि अन्य प्रक्रियाओं को SQL कथनों के बीच आपके डेटा में हस्तक्षेप करने से रोका जाए।