런타임까지는 전체 SQL문을 알 수 없는 상황이 있습니다. 예를 들어, WHERE절의 술어는 사용자가 지정하는 검색 기준에 따라 다를 수 있습니다. 이러한 경우에는 Data 오브젝트에서 메소드를 호출할 때 SQL문에 대한 String 변수를 대체하십시오.
예를 들어, 애플리케이션을 사용하여 사용자가 부서의 프로젝트에 대한 레코드를 유지보수하는 테이블을 쿼리하는 기준을 지정할 수 있기를 원한다고 가정하십시오. 다음의 예제 코드와 유사한 코드를 사용할 수 있습니다.
String columnList = ... String searchPred = ... String SQLstmt = "SELECT " + columnList + " FROM DEPT_SCHEMA.PROJ WHERE " + searchPred; Iterator<Employee> empReport = db.queryIterator(SQLstmt, Employee.class);
그러나 런타임 시 SQL문을 구성하는 경우, pureQuery가 런타임 전에는 명령문의 구문을 점검할 수 없음을 유념하십시오. 또한 DB2® 데이터베이스를 사용하는 경우, 정적 SQL의 성능을 이용할 수 없습니다.