select, where, from, to

L'istruzione select restituisce un array di record (nid). Può essere combinata con le clausole where, from e to.

Esempio:

L'esempio seguente recupera i primi 10 nomi dalla tabella Customer il cui nome contiene la lettera "s":

(select Customer where 'First name' like "s" from 0 to 9).'first name'

Clausola where

Il contenuto di una clausola where viene eseguito sul server.

  • Per questo non è possibile usare determinate funzioni, come alert o dialog, all'interno di una clausola where.

From e To

Usando from e to, vengono restituiti solo i record dall'indice 0 al 9.

  • Questa possibilità è utile per recuperare i primi x record o per paginare i risultati di una query.

Blocco di esecuzione

Il blocco di esecuzione è la parte che segue il punto alla fine dell'istruzione select. Nell'esempio qui sopra il blocco di esecuzione è 'first name'.

Un blocco di esecuzione più complesso può contenere variabili o addirittura altre istruzioni select. Come per le funzioni, è l'ultima istruzione del blocco a determinare il tipo e il valore dell'array risultante.

Esempio:

Il codice seguente produce un array di numeri che rappresentano il totale delle vendite per ogni cliente:

(select Customer where 'First name' like "s" from 0 to 9).
  (
   var a := id;
   var i := select invoice where customer = a;
      sum(i.TOTAL);
   )

Attenzione:

Nei blocchi di esecuzione che accedono ad altre tabelle possono verificarsi anomalie se il codice viene eseguito sul server.

  • In questi casi è meglio usare un ciclo for i in select.