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
alertodialog, all'interno di una clausolawhere.
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.
