ホームページ >データベース >mysql チュートリアル >JDBC のセーブポイントとは何ですか?説明する?

JDBC のセーブポイントとは何ですか?説明する?

WBOY
WBOY転載
2023-09-08 21:29:061383ブラウズ

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

Savepoint インターフェイスを使用すると、追加のトランザクション制御が可能になります。 Oracle の PL/SQL など、最新の DBMS のほとんどは、環境内のセーブポイントをサポートしています。

セーブポイントを設定すると、トランザクション内で論理ロールバック ポイントを定義します。セーブポイントの後にエラーが発生した場合は、ロールバック メソッドを使用して、すべての変更を元に戻すことも、セーブポイント以降に行われた変更のみを元に戻すこともできます。

Connection オブジェクトには、セーブポイントの管理に役立つ 2 つの新しいメソッドがあります -

  • setSavepoint(String savepointName): 新しいセーブポイントを定義します。また、Savepoint オブジェクトも返します。

  • releaseSavepoint(セーブポイント セーブポイント名): セーブポイントを削除します。パラメーターとして 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。