JDBC 中的儲存點是什麼?解釋一下?
儲存點介面為您提供了額外的事務控制。大多數現代 DBMS 在其環境中都支援儲存點,例如 Oracle 的 PL/SQL。
當您設定一個儲存點時,您在事務中定義了一個邏輯回滾點。如果儲存點之後發生錯誤,您可以使用回滾方法撤消所有更改或僅撤消儲存點之後的更改。
Connection 物件有兩個新方法可幫助您管理儲存點 -
setSavepoint(String savepointName): 定義一個新的儲存點。它還返回一個 Savepoint 物件。
releaseSavepoint(Savepoint savepointName): 刪除一個儲存點。請注意,它需要一個 Savepoint 物件作為引數。該物件通常是透過 setSavepoint() 方法生成的一個儲存點。
有一個 rollback(String savepointName) 方法,該方法可將工作回滾到指定的儲存點。
示例:
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);
}
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP