select, where, from, to
Die Anweisung select gibt ein Array von Datensätzen (nid) zurück. Sie lässt sich mit den Klauseln where, from und to verbinden.
Beispiel:
Das folgende Beispiel holt die ersten 10 Vornamen aus der Tabelle Customer, deren Vorname den Buchstaben „s“ enthält:
(select Customer where 'First name' like "s" from 0 to 9).'first name'
Klausel where
Der Inhalt einer where-Klausel wird auf dem Server ausgeführt.
- Deshalb lassen sich bestimmte Funktionen wie
alertoderdialogin einerwhere-Klausel nicht verwenden.
From und To
Mit from und to werden nur die Datensätze mit den Indizes 0 bis 9 zurückgegeben.
- Das ist nützlich, um die ersten x Datensätze zu holen oder Abfrageergebnisse seitenweise auszugeben.
Ausführungsblock
Der Ausführungsblock ist der Teil nach dem Punkt am Ende der select-Anweisung. Im obigen Beispiel ist der Ausführungsblock 'first name'.
Ein komplexerer Ausführungsblock kann Variablen oder sogar weitere select-Anweisungen enthalten. Wie bei Funktionen bestimmt die letzte Anweisung des Blocks Typ und Wert des Ergebnis-Arrays.
Beispiel:
Der folgende Code erzeugt ein Array von Zahlen – den Gesamtumsatz je Kunde:
(select Customer where 'First name' like "s" from 0 to 9).
(
var a := id;
var i := select invoice where customer = a;
sum(i.TOTAL);
)
Achtung:
Bei Ausführungsblöcken, die auf andere Tabellen zugreifen, kann es zu Fehlern kommen, wenn der Code auf dem Server ausgeführt wird.
- In solchen Fällen verwenden Sie besser eine Schleife
for i in select.
