Das Natural-View-Konzept

#### Search Results

Search

# Das Natural-View-Konzept

Einige Natural-SQL-Statements erlauben auch die Verwendung von Natural-Views (Datensichten).

Eine Natural-View kann anstelle einer Parameterliste angegeben werden, wobei jedes Feld in der View (außer Gruppen, redefinierten Feldern sowie Feldern mit vorangestelltem Präfix `L@` oder `N@`) einem Parameter (`host-variable`) entspricht.

Felder, deren Namen mit `L@` bzw. `N@` anfangen, können nur zusammen mit entsprechenden Feldern gleichen Namens verwendet werden. Dabei werden:

- `L@`-Felder umgesetzt in `LINDICATOR`-Felder,

- `N@-`Felder umgesetzt in `INDICATOR`-Felder.

Ein `L@`-Feld sollte in der View jeweils unmittelbar vor dem Feld, auf das es sich bezieht, definiert werden.

Beispiel:

    DEFINE DATA LOCAL
    01 PERS VIEW OF SQL-PERSONNEL
      02 PERSID     (I4)
      02 NAME       (A20)
      02 N@NAME    (I2)                     /* null indicator of NAME
      02 L@ADDRESS (I2)                     /* length indicator of ADDRESS
      02 ADDRESS    (A50/1:6)
      02 N@ADDRESS (I2)                     /* null indicator of ADDRESS
    01 #PERSID      (I4)
    END-DEFINE
       ...
    SELECT *
      INTO VIEW PERS
      FROM SQL-PERSONNEL
      WHERE PERSID = #PERSID
       ...
    END-SELECT

Das obige Beispiel entspricht dem Folgenden:

    ...
    SELECT *
      INTO PERSID,
           NAME INDICATOR N@NAME,
           ADDRESS(*)INDICATOR N@ADDRESS LINDICATOR L@ADDRESS
      FROM SQL-PERSONNEL
      WHERE PERSID = #PERSID
    ...
    END-SELECT