首頁 >資料庫 >mysql教程 >JDBC 中的儲存點是什麼?解釋?

JDBC 中的儲存點是什麼?解釋?

WBOY
WBOY轉載
2023-09-08 21:29:061363瀏覽

JDBC 中的保存点是什么?解释?

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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除