The DepartmentInlineSample class shows how to access the DEPARTMENT table inline. This class, which was generated by pureQuery, shows the inline-method style of programming and contains suggestions and samples for CREATE, INSERT, UPDATE, and DELETE statements.
You can create a Java stored procedure from the refactored newInline method.
package INLINE; // Imports import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; import java.util.Iterator; import com.ibm.pdq.runtime.Data; import pureQuery.example.SampleUtil; import com.ibm.pdq.runtime.ResultIterator; import com.ibm.pdq.runtime.factory.DataFactory; import java.sql.*; public class DepartmentInlineSample { public static void newInline(ResultSet[] rs) throws SQLException,Exception{ Connection con = DriverManager.getConnection("jdbc:default:connection"); Data d = DataFactory.getData(con); rs[0] = d.queryResults( "SELECT DEPTNO, DEPTNAME, MGRNO, ADMRDEPT, LOCATION" + " FROM DEPARTMENT"); } public static Data db = null; /** * @param args */ public static void main(String[] args) { try { if (args.length < 1) { SampleUtil.println("All required arguments were not provided."); return; } db = SampleUtil.getData( "jdbc:db2://iicriollo3.svl.ibm.com:50000/SAMPLE:retrieveMessagesFromServerOnGetMessage=true;", "db2admin", args[0]); db.setAutoCommit(false); Iterator<Department> getDepartments = db.queryIterator( "SELECT DEPTNO, DEPTNAME, MGRNO, ADMRDEPT, LOCATION" + " FROM DEPARTMENT", Department.class); Department bean = null; if (getDepartments.hasNext()) { bean = getDepartments.next(); ((ResultIterator<Department>) getDepartments).close(); } else { SampleUtil.println("Result set is empty."); db.rollback(); return; } Department getDepartment = db.queryFirst( "SELECT DEPTNO, DEPTNAME, MGRNO, ADMRDEPT, LOCATION" + " FROM DEPARTMENT" + " WHERE DEPTNO = :deptno", Department.class, bean); SampleUtil.printClass(getDepartment); db.update( "UPDATE DEPARTMENT" + " SET DEPTNO = :deptno, DEPTNAME = :deptname, MGRNO = :mgrno," + " ADMRDEPT = :admrdept, LOCATION = :location" + " WHERE DEPTNO = :deptno", bean); getDepartments = db.queryIterator( "SELECT DEPTNO, DEPTNAME, MGRNO, ADMRDEPT, LOCATION" + " FROM DEPARTMENT", Department.class); SampleUtil.println("Results for update (bean)"); SampleUtil.printAll(getDepartments); db.update("DELETE FROM DEPARTMENT" + " WHERE DEPTNO = :deptno", bean); getDepartments = db.queryIterator( "SELECT DEPTNO, DEPTNAME, MGRNO, ADMRDEPT, LOCATION" + " FROM DEPARTMENT", Department.class); SampleUtil.println("Results for - delete (?)"); SampleUtil.printAll(getDepartments); db.update( "INSERT INTO DEPARTMENT (DEPTNO, DEPTNAME, MGRNO, ADMRDEPT, LOCATION)" + " VALUES (:deptno, :deptname, :mgrno, :admrdept, :location)", bean); getDepartments = db.queryIterator( "SELECT DEPTNO, DEPTNAME, MGRNO, ADMRDEPT, LOCATION" + " FROM DEPARTMENT", Department.class); SampleUtil.println("Results for - insert (bean)"); SampleUtil.printAll(getDepartments); db.commit(); } catch (Exception exp) { SampleUtil.println(exp.getMessage()); SampleUtil.println(exp.toString()); if (db != null) db.rollback(); } finally { if (db != null) db.close(); } } }