Prozeduren Previous topic Chapter index Next topic

FA_RENUMPOSITION_2

 

Eingabeparameter

Parameter

Typ

Beschreibung

PARENTID

INTEGER

Primary Key Wert von der FAECHER Tabelle

 

Ausgabeparameter

(Es gibt keine Ausgabeparameter)

 

Beschreibung

Stored Procedure nummeriert Fächer um. Als Übergabeparameter gibt man für alle Event Base Fächer 0, für alle Newsroom Fächer -1 oder für alle Web Base Fächer -2 an. Danach ist gewährleistet, dass die Differenz der Fach IDs min. 250 ist.

 

Definition

CREATE PROCEDURE FA_RENUMPOSITION_2(
    PARENTID INTEGER)
AS
DECLARE VARIABLE FACHPOS_ALT INTEGER;
DECLARE VARIABLE FACHPOS INTEGER;
DECLARE VARIABLE FACHID INTEGER;
BEGIN
  FACHPOS = 0;
  FOR
  SELECT FAID, FAPOSITION FROM FAECHER WHERE FAIDUEBER = :PARENTID ORDER BY FAPOSITION ASCENDING
  INTO :FACHID, :FACHPOS_ALT
  DO BEGIN
    /* Umnummerieren, wenn Differenz zwischen aktueller und
       vorheriger Position kleiner als 250 ist */
    IF ((FACHPOS_ALT - FACHPOS) < 250) THEN
    BEGIN
      FACHPOS_ALT = FACHPOS + 1000;
      UPDATE FAECHER SET FAPOSITION = :FACHPOS_ALT WHERE FAID = :FACHID;
    END
    FACHPOS = FACHPOS_ALT;
    IF (FACHID <> PARENTID) THEN
    BEGIN
      EXECUTE PROCEDURE FA_RENUMPOSITION_2(FACHID);
    END
  END
END

 

     Previous topic Chapter index Next topic