/*
* This sample shows how to use the batching extensions.
* In this example, we demonstrate the sue of the "sendBatch" API.
* This allows the user to actually execute a set of batched
* execute commands.
*
*/
// You need to import the java.sql package to use JDBC
import java.sql.*;
// You need to import oracle.jdbc.driver.* in order to use the
// API extensions.
import oracle.jdbc.driver.*;
class SendBatch
{
public static void main (String args [])
throws SQLException
{
// Load the Oracle JDBC driver
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
// Connect to the database
// You can put a database name after the @ sign in the connection URL.
Connection conn =
DriverManager.getConnection ("jdbc:oracle:oci7:@", "scott", "tiger");
Statement stmt = conn.createStatement ();
// Default batch value set to 50 for all prepared statements belonging
// to this connection.
((OracleConnection)conn).setDefaultExecuteBatch (50);
PreparedStatement ps =
conn.prepareStatement ("insert into dept values (?, ?, ?)");
ps.setInt (1, 32);
ps.setString (2, "Oracle");
ps.setString (3, "USA");
// this execute does not actually happen at this point
System.out.println (ps.executeUpdate ());
ps.setInt (1, 33);
ps.setString (2, "Applications");
ps.setString (3, "Indonesia");
// this execute does not actually happen at this point
int rows = ps.executeUpdate ();
System.out.println ("Number of rows updated before calling sendBatch: "
+ rows);
// Execution of both previously batched executes will happen
// at this point. The number of rows updated will be
// returned by sendBatch.
rows = ((OraclePreparedStatement)ps).sendBatch ();
System.out.println ("Number of rows updated by calling sendBatch: "
+ rows);
ps.close ();
}
}
|