Einige Natural-SQL-Statements erlauben auch die Verwendung von Natural-Views.
Ein Natural-View kann anstelle einer Parameterliste angegeben werden,
wobei jedes Feld des Views — 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 im View jeweils unmittelbar vor dem Feld,
auf das es sich bezieht, definiert werden.
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
Anmerkung:
Wenn mit Natural für Windows, Natural für UNIX oder
Natural für OpenVMS auf varchar-Datentypen
zugegriffen wird, muss in dem View eine entsprechende Längenindikatorvariable
vorhanden sein.