select, where, from, to
Instrukcja select zwraca tablicę rekordów (nid). Można ją łączyć z klauzulami where, from i to.
Przykład:
Poniższy przykład pobiera pierwsze 10 imion z tabeli Customer, w których imię zawiera literę „s”:
(select Customer where 'First name' like "s" from 0 to 9).'first name'
Klauzula where
Zawartość klauzuli where wykonuje się na serwerze.
- Dlatego w klauzuli
wherenie można używać niektórych funkcji, takich jakalertczydialog.
From i To
Dzięki from i to zwracane są wyłącznie rekordy o indeksach od 0 do 9.
- Przydaje się to do pobrania pierwszych x rekordów lub do stronicowania wyników zapytania.
Blok wykonania
Blok wykonania to część po kropce na końcu instrukcji select. W powyższym przykładzie blokiem wykonania jest 'first name'.
Bardziej złożony blok wykonania może zawierać zmienne, a nawet kolejne instrukcje select. Podobnie jak w funkcjach, ostatnia instrukcja bloku decyduje o typie i wartości wynikowej tablicy.
Przykład:
Poniższy kod daje tablicę liczb odpowiadających łącznej sprzedaży dla każdego klienta:
(select Customer where 'First name' like "s" from 0 to 9).
(
var a := id;
var i := select invoice where customer = a;
sum(i.TOTAL);
)
Ostrzeżenie:
W blokach wykonania sięgających do innych tabel mogą wystąpić błędy, jeśli kod wykonuje się na serwerze.
- W takich przypadkach lepiej użyć pętli
for i in select.
