Prozeduren Previous topic Chapter index Next topic

SE_RENUMPOSITION

 

Eingabeparameter

Parameter

Typ

Beschreibung

SNID

INTEGER

Primary Key Wert von der SENDUNGEN Tabelle

 

Ausgabeparameter

(Es gibt keine Ausgabeparameter)

 

Beschreibung

Nummeriert die Position einer Stunde neu durch.

 

Definition

CREATE PROCEDURE SE_RENUMPOSITION(
    SNID INTEGER)
AS
  DECLARE VARIABLE seid INTEGER;
  DECLARE VARIABLE seposition INTEGER;
  DECLARE VARIABLE sepos_neu INTEGER;
  DECLARE VARIABLE sepos_alt INTEGER;
BEGIN
  sepos_alt = -1000;
  sepos_neu = 0;
  FOR SELECT SEID, SEPOSITION FROM SENDEELEMENTE
      WHERE SESNID = :snid
      ORDER BY SEPOSITION ASCENDING
      INTO :seid, :seposition
  DO BEGIN
    IF ( ((seposition - sepos_alt) < 250) OR (seposition < 0) ) THEN BEGIN
      UPDATE SENDEELEMENTE SET SEPOSITION = :sepos_neu
      WHERE SEID = :seid;
      seposition = sepos_neu;
    END
    sepos_alt = seposition;
    sepos_neu = seposition + 1000000;
  END
END

 

     Previous topic Chapter index Next topic