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 alert o dialog, dins d'una clàusula where.

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.