Savepoint 介面為您提供了額外的交易控制。大多數現代 DBMS 都支援其環境中的保存點,例如 Oracle 的 PL/SQL。
設定儲存點時,您在交易中定義了邏輯回溯點。如果在儲存點之後發生錯誤,您可以使用回滾方法撤銷所有變更或僅撤銷儲存點之後所做的變更。
Connection 物件有兩個新方法可以幫助您管理保存點-
#setSavepoint(String savepointName): 定義一個新的儲存點。它還傳回一個 Savepoint 物件。
releaseSavepoint(Savepoint savepointName):刪除一個 Savepoint。請注意,它需要一個 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); }
以上是JDBC 中的儲存點是什麼?解釋?的詳細內容。更多資訊請關注PHP中文網其他相關文章!