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 where nie można używać niektórych funkcji, takich jak alert czy dialog.

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.