Anfang des Inhaltsbereichs

 Vereinfachte Schreibweise für Struktur- und Array-Variablen 

Verwendung

In SQL-Anweisungen können Sie für Strukturvariablen und Array-Variablen eine vereinfachte Schreibweise verwenden, um nicht alle angesprochenen Spalten der Datenbanktabelle explizit aufzählen zu müssen.

Vorgehensweise

·       Geben Sie den Namen einer Struktur- oder Array-Variablen als !<var> an, zum Beispiel in der <select_list> der SELECT-Anweisung.

·       Anstelle des Ausrufezeichens können Sie auch das Sonderzeichen Tilde (~<var>) verwenden.

·       Der Precompiler leitet die Spaltennamen aus den Namen der Strukturkomponenten oder Array-Elemente ab. Die Spaltennamen dürfen höchstens 18 Zeichen lang sein.

·       Sie können die Angaben <[owner.]tablename.>vor !<var> setzen. Diese Angaben werden dann vor jeden Spaltennamen eingefügt.

·       Statt der kompletten Variablen !<var> können Sie auch eine beliebige, strukturierte Komponente von var angeben, zum Beispiel !var.x.y. In diesem Fall wird eine entsprechende Teilmenge von Spaltennamen erzeugt.

EXEC SQL BEGIN DECLARE SECTION;

  typedef char string8 [8];
  struct {char anr [6];
  struct {string8 nachn, vorn [3];} name;} person;

EXEC SQL END DECLARE SECTION;

EXEC SQL CREATE TABLE kunde
  (knr FIXED(4) key, anr CHAR(5),
  name_nachn CHAR(7), name_vorn1 CHAR(7),
  name_vorn2 CHAR(7), name_vorn3 CHAR(7));

/* Einlesen der Werte */

EXEC SQL INSERT INTO kunde
  (knr, !person )
  VALUES (100, :person);

/* Hat die gleiche Wirkung wie: */

EXEC SQL INSERT INTO kunde
  (knr, anr, name_nachn,
  name_vorn1, name_vorn2, name_vorn3)
  VALUES (100, :person.anr,
  :person.name.nachn, :person.name.vorn[0],
  :person.name.vorn[1],
  :person.name.vorn[2]);

Ende des Inhaltsbereichs