Prozeduren Previous topic Chapter index Next topic

SE_INSERT2

 

Eingabeparameter

Parameter

Typ

Beschreibung

DESTSNID

INTEGER

Primary Key Wert von der SENDUNGEN Tabelle

DESTSEPOSITION

INTEGER

Ziel-Position

POSOFFSET

INTEGER

Positiver oder negativer Position-Offset zur Ziel-Position.

SESEQUENZ

CHAR(1)

Sequenz-Ablauf

SEGRUPPE

CHAR(1)

Gruppe vom Sendeelement

SEDAUER

INTEGER

Spielzeit (Dauer) [ms] des Elementes

SETYP

CHAR(2)

Typ vom Sendeelement

SETITELTHEMA

CHAR(80)

Titel / Thema

SEINTERPRET

CHAR(80)

Interpret oder Art

SEAUTOR

CHAR(80)

Autor des Titel / Themas

SEERSTELLDATUM

DATE

Datum der Erstellung des Eintrages

SEERSTELLER

CHAR(20)

Ersteller (Benutzer) des Eintrages

 

Ausgabeparameter

Parameter

Typ

Beschreibung

RETSEID

INTEGER

Primary Key Wert von der SENDEELEMENTE Tabelle

RETSEPOSITION

INTEGER

Position vom eingefügten Sendeelement.

 

Beschreibung

Damit kann ein Sendeelement eingefügt werden.

 

Definition

CREATE PROCEDURE SE_INSERT2(
    DESTSNID INTEGER,
    DESTSEPOSITION INTEGER,
    POSOFFSET INTEGER,
    SESEQUENZ CHAR(1),
    SEGRUPPE CHAR(1),
    SEDAUER INTEGER,
    SETYP CHAR(2),
    SETITELTHEMA CHAR(80),
    SEINTERPRET CHAR(80),
    SEAUTOR CHAR(80),
    SEERSTELLDATUM DATE,
    SEERSTELLER CHAR(20))
RETURNS (
    RETSEID INTEGER,
    RETSEPOSITION INTEGER)
AS
  DECLARE VARIABLE SeId            INTEGER;
  DECLARE VARIABLE SeSnId          INTEGER;
  DECLARE VARIABLE SeDatum         DATE;
  DECLARE VARIABLE SeSpPosition    INTEGER;
  DECLARE VARIABLE SeSnPosition    INTEGER;
  DECLARE VARIABLE SePosition      INTEGER;
  DECLARE VARIABLE SeZeit          INTEGER;
  DECLARE VARIABLE SeRegion        SMALLINT;
BEGIN
  /* Felder fuer neuen Datensatz erstellen */
  EXECUTE PROCEDURE NEW_SEID RETURNING_VALUES SeId;
  SePosition = DestSePosition + PosOffset;

  /* Destination Felder lesen */
  SELECT SESNID,SEDATUM,SEZEIT,SESPPOSITION,SESNPOSITION,SEREID
  FROM SENDEELEMENTE
  WHERE (SESNID = :DestSnId) AND (SEPOSITION = :DestSePosition)
  INTO :SeSnId,:SeDatum,:SeZeit,:SeSpPosition,:SeSnPosition,:SeRegion;
  IF (SeRegion IS NULL) THEN BEGIN
    SeRegion = 0;
  END

  /* Datensatz einfuegen */
  INSERT INTO SENDEELEMENTE (
    SEID,SESNID,SEDATUM,SESPPOSITION,SESNPOSITION,SEPOSITION,
    SEZEIT,SESEQUENZ,SEGRUPPE,SETYP,SETITELTHEMA,SEINTERPRET,SEAUTOR,
    SEERSTELLDATUM,SEERSTELLER,SEBEARBDATUM,SEBEARBEITER,
    SEDAUER,SESTARTNEXT,SEMITTELTEIL,SEREID
  )
  VALUES (
    :SeId,:SeSnId,:SeDatum,:SeSpPosition,:SeSnPosition,:SePosition,
    :SeZeit,:SeSequenz,:SeGruppe,:SeTyp,:SeTitelThema,:SeInterpret,:SeAutor,
    :SeErstellDatum,:SeErsteller,:SeErstellDatum,:SeErsteller,
    :SeDauer,:SeDauer,:SeDauer,:SeRegion
  );
  RetSeId       = SeId;
  RetSePosition = SePosition;
END

 

     Previous topic Chapter index Next topic