sql >> データベース >  >> RDS >> Oracle

Javaで複数のSQLステートメントを実行する

    次の例では、addBatchを使用しています &executeBatch 複数のSQLコマンドを同時に実行するコマンド。

    import java.sql.*;
    
    public class jdbcConn {
       public static void main(String[] args) throws Exception{
          Class.forName("org.apache.derby.jdbc.ClientDriver");
          Connection con = DriverManager.getConnection
          ("jdbc:derby://localhost:1527/testDb","name","pass");
          Statement stmt = con.createStatement
          (ResultSet.TYPE_SCROLL_SENSITIVE,
          ResultSet.CONCUR_UPDATABLE);
          String insertEmp1 = "insert into emp values
          (10,'jay','trainee')";
          String insertEmp2 = "insert into emp values
          (11,'jayes','trainee')";
          String insertEmp3 = "insert into emp values
          (12,'shail','trainee')";
          con.setAutoCommit(false);
          stmt.addBatch(insertEmp1);
          stmt.addBatch(insertEmp2);
          stmt.addBatch(insertEmp3);
          ResultSet rs = stmt.executeQuery("select * from emp");
          rs.last();
          System.out.println("rows before batch execution= "
          + rs.getRow());
          stmt.executeBatch();
          con.commit();
          System.out.println("Batch executed");
          rs = stmt.executeQuery("select * from emp");
          rs.last();
          System.out.println("rows after batch execution= "
          + rs.getRow());
       }
    } 
    

    結果: 上記のコードサンプルでは、​​次の結果が生成されます。結果は異なる場合があります。

    rows before batch execution= 6
    Batch executed
    rows after batch execution= = 9 
    

    出典:複数のSQLステートメントを実行する



    1. Phpstormデータベース:java.sql.SQLException:通信リンク障害

    2. 文字列値1、2をOracleクエリへの入力として渡すことができません

    3. SQL:大文字と小文字を区別しない重複をマージする方法

    4. 1つのテーブルから選択し、IDがリンクされている別のテーブルからカウントします