In manchen Fällen ist eine vollständige SQL-Anweisung erst zur Ausführungszeit bekannt. Beispiel: Die Vergleichselemente in einer Klausel WHERE können von Suchkriterien abhängen, die ein Benutzer angibt. In solchen Fällen ersetzen sie beim Aufrufen einer Methode in einem Objekt Data eine Variable String für die SQL-Anweisung.
Angenommen, die Anwendung soll Benutzern die Angabe von Kriterien für die Abfrage einer Tabelle, in der Datensätze über Projekte in der Abteilung verwaltet werden, ermöglichen. Sie können Code wie den im folgenden Beispiel verwenden:
String columnList = ... String searchPred = ... String SQLstmt = "SELECT " + columnList + " FROM DEPT_SCHEMA.PROJ WHERE " + searchPred; Iterator<Employee> empReport = db.queryIterator(SQLstmt, Employee.class);
Beachten Sie jedoch, dass beim Erstellen von SQL-Anweisungen während der Ausführung die Syntax der Anweisungen von pureQuery nicht vor der Laufzeit geprüft werden kann. Sie können auch nicht die Leistung statischer SQL nutzen, wenn Sie eine DB2-Datenbank verwenden.