設定��セーブ�イント��ロール�ック

JDBC 3.0ã?®APIã?«ã?¯ã€?Connection.setSavepointメソッドã?Œæ–°ã?Ÿã?«ç”¨æ„?ã?•れã?¦ã?„ã?¾ã?™ã€‚ã?“ã?®ãƒ¡ã‚½ãƒƒãƒ‰ã?¯ç?¾åœ¨ã?®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã?«ã‚»ãƒ¼ãƒ–ãƒ?イントを設定ã?—ã?¾ã?™ã€‚ Connection.rollbackメソッドã?¯ã‚»ãƒ¼ãƒ–ãƒ?イントを引数ã?«å?–れるよã?†ã€?オーãƒ?ーロードã?•れã?¦ã?„ã?¾ã?™ã€‚より詳細ã?ªæƒ…å ±ã?¯java.sql.Connectionインターフェイス: JDBC3.0ã?«ã?¦åˆ©ç”¨å?¯èƒ½ã?ªãƒ¡ã‚½ãƒƒãƒ‰ã‚’å?‚ç…§ã?—ã?¦ã??ã? ã?•ã?„。

以下ã?«ä¾‹ç¤ºã?™ã‚‹ã‚³ãƒ¼ãƒ‰ã?§ã?¯ã€?表ã?«è¡Œã‚’挿入ã?—ã?¦svpt1ã?¨ã?„ã?†ã‚»ãƒ¼ãƒ–ãƒ?イントを設定ã?—ã€?ã?•らã?«äºŒã?¤ç›®ã?®è¡Œã‚’挿入ã?—ã?¾ã?™ã€‚トランザクションã?Œsvpt1ã?¸ãƒ­ãƒ¼ãƒ«ãƒ?ックã?•れるã?¨ã€?二ã?¤ç›®ã?®æŒ¿å…¥ã?¯å?–り消ã?•れã?¾ã?™ã?Œæœ€åˆ?ã?®æŒ¿å…¥ã?¯æ??ã?ªã‚?れã?¾ã?›ã‚“。別ã?®è¡¨ç?¾ã‚’ã?™ã‚Œã?°ã€?トランザクションをコミットã?™ã‚‹ã?¨ã€?'1'ã?®ã‚’æŒ?ã?¤è¡Œã? ã?‘ã?ŒTABLE1ã?«è¿½åŠ ã?•れã?¾ã?™ã€‚
conn.setAutoCommit(false); // セーブ�イントを使�����自動コミットを切ら��れ��り��ん。
Statement stmt = conn.createStatement();
int rows = stmt.executeUpdate("INSERT INTO TABLE1 (COL1) VALUES(1)");
// セーブ�イント�設定
set savepoint
Savepoint svpt1 = conn.setSavepoint("S1");
rows = stmt.executeUpdate("INSERT INTO TABLE1 (COL1) VALUES (2)");
...
conn.rollback(svpt1);
...
conn.commit();
関連概念
セーブ�イント�開放
セーブ�イント�決�り
関連資料
セーブ�イント�制�事項