2011-09-02 14 views
8

पढ़नाजावा JDBC savepoint

http://download.oracle.com/javase/6/docs/api/java/sql/Savepoint.html

यह अच्छी तरह से स्पष्ट नहीं है क्या savepoints डेटाबेस नजरिए से मैप की जाती हैं।

जब savepoints सेट हैं, तो क्या डेटाबेस परिवर्तन अन्य लेनदेन के लिए उपलब्ध कराए गए हैं?

धन्यवाद

उत्तर

14

एक बचत बिंदु एक बिंदु को चिह्नित करता है कि वर्तमान लेनदेन वापस रोल कर सकता है। अपने सभी परिवर्तनों को वापस रोल करने के बजाय, यह केवल उनमें से कुछ को वापस रोल करना चुन सकता है। उदाहरण के लिए, आप लगता है:

  • लेन-देन,
  • डालने एक तालिका में 10 पंक्तियाँ,
  • एक savepoint निर्धारित करते हैं,
  • एक और 5 पंक्तियाँ सम्मिलित
  • savepoint को रोलबैक,
  • शुरू
  • लेनदेन प्रतिबद्ध करें।

ऐसा करने के बाद, तालिका में आपके द्वारा डाली गई पहली 10 पंक्तियां होंगी। रोलबैक द्वारा अन्य 5 पंक्तियों को हटा दिया जाएगा।

एक सेवपॉइंट सेट करना डेटाबेस में किसी भी डेटा को 'सेव' नहीं करता है। यह डेटाबेस परिवर्तन किसी भी अन्य लेनदेन के लिए दृश्यमान नहीं बनाता है। एक बचत बिंदु सिर्फ एक मार्कर है कि वर्तमान लेनदेन वापस रोल कर सकते हैं।

3

सेवपॉइंट्स जेडीबीसी सुविधा नहीं हैं, वे एक डीबीएमएस सुविधा हैं।

ल्यूक के विस्तृत जवाब के अलावा आप भी डीबीएमएस मैनुअल savepoints

http://www.postgresql.org/docs/current/static/sql-savepoint.html
http://download.oracle.com/docs/cd/E11882_01/server.112/e17118/statements_10001.htm#BABFIJGC
http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0003271.html
http://msdn.microsoft.com/en-us/library/ms188378.aspx
http://dev.mysql.com/doc/refman/5.5/en/savepoint.html

+0

यह गलत है के बारे में क्या समझाने पर भी पढ़ सकते हैं। जैसा कि [http://docs.oracle.com/ ](http://docs.oracle.com/javase/tutorial/jdbc/basics/transactions.html#set_roll_back_savepoints) पर बताया गया है 'विधि कनेक्शन.सेटसेवपॉइंट, एक सेवपॉइंट सेट करता है वर्तमान लेनदेन के भीतर वस्तु। Savepoint तर्क लेने के लिए कनेक्शन.rollback विधि अधिभारित है। –

+3

@ ValentinoDell'Aica: तो मेरे कथन में क्या गलत है? Savepoints ** ** एक डीबीएमएस सुविधा हैं। जेडीबीसी एपीआई आपको बस उस सुविधा तक पहुंच प्रदान करता है। यदि डीबीएमएस उनका समर्थन नहीं करता है, तो आप जेडीबीसी के भीतर से उनका उपयोग नहीं कर सकते हैं –

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