2013-01-20 10 views
9

मैं स्पष्टीकरण पढ़ा है एक commit आवश्यक हो सकता है जब डीबी 2 और MySQL के लिए एक select बयान के बाद:प्रतिबद्ध के बाद चयन

Is a commit needed on a select query in DB2?

Should I commit after a single select

मेरा प्रश्न है कब और क्यों यह महत्वपूर्ण होगा Oracle का उपयोग कर select कथन निष्पादित करने के बाद commit पर?

+0

मुझे कोई ओरेकल समर्थक हूँ, तो शायद किसी को अधिक जानकार इस पर टिप्पणी कर सकते हैं, लेकिन मैं स्क्रिप्ट है कि बड़े चयन बयान, अंत में डेटाबेस सर्वर अस्थायी स्थान मुद्दों लौटे जो की एक बड़ी संख्या को मार डाला है समाप्त हो गया है। प्रत्येक चयन के बाद प्रतिबद्ध इसे समाप्त कर दिया। – woemler

उत्तर

10

यदि आपने SELECT ... FOR UPDATE; किया है तो आपको अपडेट के लिए रिकॉर्ड रिकॉर्ड जारी करने के लिए COMMIT या रोलबैक की आवश्यकता होगी। अन्यथा, मैं ऐसा करने के किसी भी कारण के बारे में नहीं सोच सकता।

6

केवल कुछ स्थितियां हैं जिन्हें मैं सोच सकता हूं कि आप चयन के बाद प्रतिबद्ध होना चाहते हैं।

  1. यदि आपका चयन डेटाबेस लिंक पर शामिल हो रहा है, तो एक लेनदेन बनाया जाएगा। यदि आप इस लिंक को बंद करने का प्रयास करते हैं, तो आपको एक त्रुटि मिल जाएगी जब तक आप लेनदेन को वापस/लुढ़क नहीं लेते।

  2. ताले को रिलीज़ करने के लिए अद्यतन (डीसीकी कहते हैं) के लिए चयन करें।

  3. सेट किए गए या एक जोड़ने के लिए एक क्रमबद्ध अलगाव स्तर को हटाने के लिए, यदि आप इसे आमंत्रित करने से पहले डीबी लिंक से चयन कर रहे हैं।

संबंधित मुद्दे