import java.sql.*;
import java.math.*;
import com.ibm.db2.jcc.*;
Connection con;
Statement stmt;
ResultSet rs;
java.math.BigDecimal iDColVar;
...
stmt = con.createStatement(); // Create a Statement object
stmt.executeUpdate(
"CREATE TABLE EMP_PHONE (EMPNO CHAR(6), PHONENO CHAR(4), " +
"IDENTCOL INTEGER GENERATED ALWAYS AS IDENTITY)");
// Create table with identity column
stmt.executeUpdate("INSERT INTO EMP_PHONE (EMPNO, PHONENO) " + 1
"VALUES ('000010', '5555')", // Insert a row
Statement.RETURN_GENERATED_KEYS); // Indicate you want automatically
// generated keys
rs = stmt.getGeneratedKeys(); // Retrieve the automatically 2
// generated key value in a ResultSet.
// Only one row is returned.
// Create ResultSet for query
while (rs.next()) {
java.math.BigDecimal idColVar = rs.getBigDecimal(1);
// Get automatically generated key
// value
System.out.println("automatically generated key value="+idColVar);
}
rs.close(); // Close ResultSet
stmt.close(); // Close Statement
With any JDBC driver, you can retrieve the most recently assigned value of an
identity column using the IDENTITY_VAL_LOCAL() built-in function. Execute
code similar to this:
Related tasks
“Updating data in tables using the PreparedStatement.executeUpdate method”
on page 25
“Creating and modifying database objects using the Statement.executeUpdate
method” on page 24
String idntVal;
Connection con;
Statement stmt;
ResultSet rs;
...
stmt = con.createStatement(); // Create a Statement object
rs = stmt.executeQuery("SELECT IDENTITY_VAL_LOCAL() FROM SYSIBM.SYSDUMMY1");
// Get the result table from the query.
// This is a single row with the most
// recent identity column value.
while (rs.next()) { // Position the cursor
idntVal = rs.getString(1); // Retrieve column value
System.out.println("Identity column value="+idntVal);
// Print the column value
}
rs.close(); // Close the ResultSet
stmt.close(); // Close the Statement
Figure 19. Example of using IDENTITY_VAL_LOCAL() to return the most recent value of an
identity column
60 Application Programming Guide and Reference for Java
™