Une instruction SQL peut utiliser les valeurs transmises lors de l'exécution aux paramètres de la méthode utilisant l'instruction. Les instructions SQL notent ces paramètres à l'aide de marqueurs. Chaque marqueur correspond à un paramètre d'une méthode.
Lorsqu'une méthode est appelée, les valeurs de ces paramètres sont obtenues à partir des arguments fournis par l'application d'appel et sont utilisées lors de l'exécution de l'instruction SQL.
Les marqueurs de paramètres suivants sont autorisés dans la clause FROM de l'instruction SELECT qui apparaît dans une méthode annotée exécutant une collection Java intégrée à la mémoire. Ces deux marqueurs de paramètres veulent dire la même chose dans la clause FROM qu'ailleurs dans la requête.
Vous ne pouvez pas utiliser les deux types de marqueurs de paramètres dans la même instruction SQL.
L'exécution pureQuery obtient les informations dont elle a besoin concernant la classe de la collection à partir de la déclaration de la méthode annotée.
Les marqueurs de paramètres suivants sont autorisés dans la clause FROM de l'instruction SELECT qui apparaît dans une méthode intégrée exécutant une collection Java intégrée à la mémoire.
Vous ne pouvez pas utiliser les deux types de marqueurs de paramètres dans la même instruction SQL.
<classname> représente le nom de classe entièrement qualifiée des membres de la collection correspondante transmise sous forme de paramètre lors de l'exécution de la méthode.
L'exécution pureQuery doit connaître la classe à utiliser lors du contrôle des membres d'une collection Java intégrée à la mémoire.
Lorsque l'une des deux dernières formes est utilisée, le nom de la classe est identifié spécifiquement dans la clause FROM, comme dans l'exemple ci-dessous :
List<Employee> emps;
Dept[] depts;
List<Map<String, Object>> list = qocData.queryList
("select e.id, d.name " +
"from ?1.com.ibm.data.test.Employee as e, " +
"?2.com.ibm.data.test.single.Dept as d " +
"where e.deptid=d.id", emps, depts);