select, where, from, to
La instrucció select retorna una taula de registres (nid). Es pot combinar amb les clàusules where, from i to.
Exemple:
L'exemple següent recupera els deu primers noms de la taula Customer on el nom conté la lletra «s»:
(select Customer where 'First name' like "s" from 0 to 9).'first name'
Clàusula where
El contingut d'una clàusula where s'executa al servidor.
- Per tant, no es poden fer servir determinades funcions, com ara
alertodialog, dins d'una clàusulawhere.
From i To
Amb from i to, només es retornaran els registres de l'índex 0 al 9.
- Aquesta funcionalitat és útil per recuperar els primers x registres o per paginar els resultats d'una consulta.
Bloc d'execució
El bloc d'execució és la part que hi ha després del punt, al final de la instrucció select. A l'exemple anterior, el bloc d'execució és 'first name'.
Un bloc d'execució més complex pot incloure variables o fins i tot altres instruccions select. Igual que amb les funcions, la darrera instrucció del bloc determina el tipus i el valor de la taula resultant.
Exemple:
El codi següent produeix una taula de nombres que representen les vendes totals de cada client:
(select Customer where 'First name' like "s" from 0 to 9).
(
var a := id;
var i := select invoice where customer = a;
sum(i.TOTAL);
)
Advertiment:
En els blocs d'execució que accedeixen a altres taules hi pot haver errors si el codi s'executa al servidor.
- En aquests casos, val més fer servir un bucle
for i in select.
