Parametermarken in Klausel FROM von Abfragen über speicherinterne Java-Objektgruppen

Es gibt verschiedene Marken, die Sie in SELECT-Anweisungen verwenden können, um auf Parameter in Methoden zu verweisen, die für speicherinterne Java™-Objektgruppen ausgeführt werden.

Eine SQL-Anweisung kann die Werte verwenden, die während der Ausführung an die Parameter der Methode weitergegeben werden, die die Anweisung verwendet. SQL-Anweisungen kennzeichnen diese Parameter mit Marken. Jede Marke entspricht einem Parameter in einer Methode.

Wenn eine Methode aufgerufen wird, werden die Werte für diese Parameter aus den Argumenten abgerufen, die von der aufrufenden Anwendung bereitgestellt werden, und während der Ausführung der SQL-Anweisung verwendet.

Parametermarken für SELECT-Anweisungen in mit Annotationen versehenen Methoden

Folgende Parametermarken sind in der Klausel FROM einer Anweisung SELECT in einer mit Annotationen versehenen Methode, die für eine speicherinterne Java-Objektgruppe ausgeführt wird, zulässig. Diese beiden Parametermarken bedeuten in der Klausel FROM dasselbe wie an anderen Stellen in der Abfrage.

Sie können nicht beide Typen von Parametermarken in derselben SQL-Anweisung verwenden.

?
? Parametermarken entsprechen dem Parameter der Methode nach Position. Die nte Marke ? entspricht dem nten Parameter der mit Annotationen versehenen Methode.
?n
Parametermarken ?n (wobei n ein positives ganzzahliges Literal ist) entsprechen dem Parameter der Methode nach Ordinalposition. ?n entspricht dem nten Parameter der mit Annotationen versehenen Methode.

Die Laufzeitkomponenten von pureQuery erhalten die Informationen, die sie zur Klasse der Objektgruppe benötigen, aus der Deklaration der mit Annotationen versehenen Methode.

Parametermarken für SELECT-Anweisungen in integrieren Methoden

Folgende Parametermarken sind in der Klausel FROM einer Anweisung SELECT in einer integrierten Methode, die für eine speicherinterne Java-Objektgruppe ausgeführt wird, zulässig.

Sie können nicht beide Typen von Parametermarken in derselben SQL-Anweisung verwenden.

?<classname>
? Parametermarken entsprechen dem Parameter der Methode nach Position. Das nte Zeichen ? entspricht dem (n-1)ten Eintrag in dem Object[], das die Werte aus den Parametern Object... enthält.
?n.<classname>
Parametermarken ?n (wobei n ein positives ganzzahliges Literal ist) entsprechen dem Parameter der Methode nach Position. n entspricht dem (n-1)ten Eintrag in dem Object[], das die Werte aus den Parametern Object... enthält.

<classname> entspricht dem vollständig qualifizierten Klassennamen der Teildateien der entsprechenden Objektgruppe, der als Parameter übergeben wird, wenn die Methode ausgeführt wird.

Die Laufzeitkomponenten von pureQuery müssen die Klasse kennen, die verwendet werden soll, wenn die Teildateien einer speicherinternen Java-Objektgruppe untersucht werden.

Wenn eine der beiden letzten Formate verwendet wird, wird der Klassenname speziell in der Klausel FROM angegeben wie im folgenden Beispiel:

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);

Feedback