Zahlen und Zahlenfunktionen
Modulo
Die Modulo-Funktion gibt wie üblich bei einer Division den Rest zurück.
SELECT MOD(14, 10); -- 4
Das kann genutzt werden, um in einer Cursor-Schleife alle x Datensätze eine Statusmeldung auszugeben.
Beispiel:
- es werden Datensätze einzeln in einer Schleife verarbeitet
 - s gibt eine Laufvariable i, die bei 1 beginnt und bis zum letzten Datensatz hochgezählt wird
 - alle 100 Datensätze soll eine Statusmeldung ausgegeben werden
 
begin
DECLARE i INTEGER DEFAULT 0;
FOR ds AS cur_ds NO SCROLL CURSOR FOR SELECT * FROM grossetabelle
DO
  -- i hochzählen
  SET i = i + 1;
  -- irgendetwas mit dem Datensatz machen
  -- alle 100 Datensätze eine Statusmeldung ausgeben
  IF MOD(i, 100) = 0 THEN
    MESSAGE 'Datensatz Nr. ' || i TO CLIENT;
  END IF;
END FOR;
end
    
                
No Comments