সেভপয়েন্ট ইন্টারফেস আপনাকে অতিরিক্ত লেনদেন নিয়ন্ত্রণ দেয়। সর্বাধিক আধুনিক DBMS, তাদের পরিবেশের মধ্যে সংরক্ষণ পয়েন্ট সমর্থন করে যেমন Oracle's PL/SQL।
আপনি যখন একটি সংরক্ষণ পয়েন্ট সেট করেন তখন আপনি একটি লেনদেনের মধ্যে একটি যৌক্তিক রোলব্যাক পয়েন্ট সংজ্ঞায়িত করেন। যদি একটি সেভ পয়েন্টের পরে একটি ত্রুটি ঘটে, তাহলে আপনি রোলব্যাক পদ্ধতিটি ব্যবহার করতে পারেন সমস্ত পরিবর্তনগুলিকে পূর্বাবস্থায় ফিরিয়ে আনতে বা শুধুমাত্র সেভ পয়েন্টের পরে করা পরিবর্তনগুলি৷
সংযোগ বস্তুটিতে দুটি নতুন পদ্ধতি রয়েছে যা আপনাকে পয়েন্টগুলি সংরক্ষণ করতে সাহায্য করে −
-
setSavepoint(স্ট্রিং savepointName): একটি নতুন সংরক্ষণ পয়েন্ট সংজ্ঞায়িত করে। এটি একটি সেভপয়েন্ট অবজেক্টও প্রদান করে।
-
releaseSavepoint(Savepoint savepointName): একটি সেভপয়েন্ট মুছে দেয়। লক্ষ্য করুন যে এটি একটি প্যারামিটার হিসাবে একটি Savepoint অবজেক্ট প্রয়োজন. এই বস্তুটি সাধারণত setSavepoint() পদ্ধতি দ্বারা উত্পন্ন একটি সংরক্ষণ বিন্দু।
একটি রোলব্যাক (স্ট্রিং সেভপয়েন্ট নাম) আছে পদ্ধতি, যা কাজকে নির্দিষ্ট সেভ পয়েন্টে ফিরিয়ে দেয়।
উদাহরণ
try {
//Assume a valid connection object conn
conn.setAutoCommit(false);
Statement stmt = conn.createStatement();
//set a Savepoint
Savepoint savepoint1 = conn.setSavepoint("Savepoint1");
String SQL = "INSERT INTO Employees " + "VALUES (106, 20, 'Rita', 'Tez')";
stmt.executeUpdate(SQL);
//Submit a malformed SQL statement that breaks
String SQL = "INSERTED IN Employees " + "VALUES (107, 22, 'Sita', 'Tez')";
stmt.executeUpdate(SQL);
// If there is no error, commit the changes.
conn.commit();
} catch(SQLException se){
// If there is any error.
conn.rollback(savepoint1);
}