एक बचत बिंदु एक बिंदु को चिह्नित करता है कि वर्तमान लेनदेन वापस रोल कर सकता है। अपने सभी परिवर्तनों को वापस रोल करने के बजाय, यह केवल उनमें से कुछ को वापस रोल करना चुन सकता है। उदाहरण के लिए, आप लगता है:
- लेन-देन,
- डालने एक तालिका में 10 पंक्तियाँ,
- एक savepoint निर्धारित करते हैं,
- एक और 5 पंक्तियाँ सम्मिलित
- savepoint को रोलबैक,
शुरू
- लेनदेन प्रतिबद्ध करें।
ऐसा करने के बाद, तालिका में आपके द्वारा डाली गई पहली 10 पंक्तियां होंगी। रोलबैक द्वारा अन्य 5 पंक्तियों को हटा दिया जाएगा।
एक सेवपॉइंट सेट करना डेटाबेस में किसी भी डेटा को 'सेव' नहीं करता है। यह डेटाबेस परिवर्तन किसी भी अन्य लेनदेन के लिए दृश्यमान नहीं बनाता है। एक बचत बिंदु सिर्फ एक मार्कर है कि वर्तमान लेनदेन वापस रोल कर सकते हैं।
स्रोत
2011-09-02 20:00:32
यह गलत है के बारे में क्या समझाने पर भी पढ़ सकते हैं। जैसा कि [http://docs.oracle.com/ ](http://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html#set_roll_back_savepoints) पर बताया गया है 'विधि कनेक्शन.सेटसेवपॉइंट, एक सेवपॉइंट सेट करता है वर्तमान लेनदेन के भीतर वस्तु। Savepoint तर्क लेने के लिए कनेक्शन.rollback विधि अधिभारित है। –
@ ValentinoDell'Aica: तो मेरे कथन में क्या गलत है? Savepoints ** ** एक डीबीएमएस सुविधा हैं। जेडीबीसी एपीआई आपको बस उस सुविधा तक पहुंच प्रदान करता है। यदि डीबीएमएस उनका समर्थन नहीं करता है, तो आप जेडीबीसी के भीतर से उनका उपयोग नहीं कर सकते हैं –