2017-07-04 4 views
2

私は、JavaでPreparedStatementを使用してバッチ処理に1文字列のSQLクエリしか使用できないと言っていますか?PreparedStatementを使用した一括処理

例えば、これは私がPreparedStatementを使用して処理するバッチです:

INSERT INTO tbl_Customer VALUES(?,?,?,?) 
INSERT INTO tbl_Order VALUES(?,?,?,?,?) 

は、バッチとしてこれらの文を処理する方法はありますか?私の悪い英語を申し訳ありません。

+1

[バッチでJDBC PreparedStatementを使用]の可能複製(https://stackoverflow.com/questions/6860691/using-jdbc-preparedstatement-in-a-batch ) – Flown

+0

同じバッチで両方を実行することはできません。ただし、2つのPreparedStatementを並行して使用できます。 –

答えて

3

次のテンプレート:

PreparedStatement ps = null; 

ps = conn.prepareStatement("INSERT INTO tbl_Customer VALUES(?,?,?,?)"); 
while() { 
    ... 
    ps.addBatch(); 
} 
result = ps.executeBatch(); 
+0

2つのテーブルに挿入したい。あなたのコードは1つのテーブルに多くのレコードを追加するのに役立ちます。 –

+0

は1つの関数を使用しますが、2つのSQLを使用して2回呼び出します – user7294900

+0

バッチを使用するポイントは、レコードに問題があるときにロールバックできます。したがって、レコードはデータベースに挿入されません。 2つのSQLを使用すると、残りのSQLはデータベースに挿入されます。 –

関連する問題