/*
Use jdk 1.3 compiler(javac) and executible(java) (JDBC 2 compliant) that comes with ORALCE 9i
Note that there is a before insert row trigger on the table clients.
SQL script needed
*/
import java.sql.*;
class InsertRows {
public static void main(String args [])
throws SQLException {
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn =
DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:athena",
"scott", "tiger");
Statement stmt = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSet uprs = stmt.executeQuery("SELECT ID, FIRST_NAME, LAST_NAME " +
"FROM CLIENTS");
uprs.moveToInsertRow();
uprs.updateInt(1,20);
uprs.updateString(2, "Jusung");
uprs.updateString(3, "Yang");
uprs.insertRow();
uprs.updateInt(1,30);
uprs.updateString(2, "Julie");
uprs.updateString(3, "Chen");
uprs.insertRow();
uprs.beforeFirst();
System.out.println("New data will not be visible unless query is rerun");
System.out.println("Table CLIENTS before insertion:");
while (uprs.next()) {
String fname = uprs.getString(2);
String lname = uprs.getString(3);
int id = uprs.getInt(1);
System.out.println(fname + " " + lname + " " + id );
}
uprs = stmt.executeQuery("SELECT ID, FIRST_NAME, LAST_NAME " +
"FROM CLIENTS");
System.out.println("Table CLIENTS after insertion:");
while (uprs.next()) {
String fname = uprs.getString(2);
String lname = uprs.getString(3);
int id = uprs.getInt(1);
System.out.println(fname + " " + lname + " " + id );
}
uprs.close();
stmt.close();
conn.close();
}
}