예전의 JDBC 방식으로 개발하시는 분들 보면..
대부분 그냥 쿼리를 두번 처리하게 돌려서 하곤 합니다.
그런데 문제는 이렇게 처리하였을 때, rollback이 안되서
데이터가 이상하게 꼬일 수가 있답니다.
(릴레이이션을 잘 잡아놨다면 DB상에서 에러를 내주지만.. )
어쨌든, 그러한 경우에 유용하게 쓰일 수 있는 방법입니다.
=====================================
con.setAutoCommit(false);
Statement stmt = con.createStatement();
stmt.addBatch("INSERT INTO COFFEES " +
"VALUES('Amaretto', 49, 9.99, 0, 0)");
stmt.addBatch("INSERT INTO COFFEES " +
"VALUES('Hazelnut', 49, 9.99, 0, 0)");
stmt.addBatch("INSERT INTO COFFEES " +
"VALUES('Amaretto_decaf', 49,
10.99, 0, 0)");
stmt.addBatch("INSERT INTO COFFEES " +
"VALUES('Hazelnut_decaf', 49,
10.99, 0, 0)");
int [] updateCounts = stmt.executeBatch();
con.commit();
con.setAutoCommit(true);
=====================================
***** 아름다운프로님에 의해서 게시물 복사 + 카테고리변경되었습니다 (2003-12-18 17:44)
대부분 그냥 쿼리를 두번 처리하게 돌려서 하곤 합니다.
그런데 문제는 이렇게 처리하였을 때, rollback이 안되서
데이터가 이상하게 꼬일 수가 있답니다.
(릴레이이션을 잘 잡아놨다면 DB상에서 에러를 내주지만.. )
어쨌든, 그러한 경우에 유용하게 쓰일 수 있는 방법입니다.
=====================================
con.setAutoCommit(false);
Statement stmt = con.createStatement();
stmt.addBatch("INSERT INTO COFFEES " +
"VALUES('Amaretto', 49, 9.99, 0, 0)");
stmt.addBatch("INSERT INTO COFFEES " +
"VALUES('Hazelnut', 49, 9.99, 0, 0)");
stmt.addBatch("INSERT INTO COFFEES " +
"VALUES('Amaretto_decaf', 49,
10.99, 0, 0)");
stmt.addBatch("INSERT INTO COFFEES " +
"VALUES('Hazelnut_decaf', 49,
10.99, 0, 0)");
int [] updateCounts = stmt.executeBatch();
con.commit();
con.setAutoCommit(true);
=====================================
***** 아름다운프로님에 의해서 게시물 복사 + 카테고리변경되었습니다 (2003-12-18 17:44)