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

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

WBOY
リリース: 2023-09-08 21:29:06
転載
1368 人が閲覧しました

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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート