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.
· 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]);