Natural ビューの概念

いくつかの Natural SQL ステートメントも Natural ビューの使用をサポートします。

Natural ビューをパラメータリストの代わりに指定できます。ビューの各フィールド(グループフィールド、再定義フィールド、および L@N@ の接頭文字付きフィールド以外)は 1 パラメータ(ホスト変数)に対応します。

名前に接頭文字 L@N@ が付加されたフィールドは、対応するマスタフィールド(同じ名前のフィールド)とともにのみ存在させることができます。

  • L@ フィールドは LINDICATOR フィールドに変換されます。

  • N@ フィールドは INDICATOR フィールドに変換されます。

L@ フィールドは、ビュー定義で、適用先のマスタフィールドの直前に指定してください。

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

上記の例は下記の例と同等です。

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

注意:
Natural for Windows、Natural for UNIX、または Natural for OpenVMS で VARCHAR データタイプにアクセスする際には、対応する長さインジケータ変数がビュー内に存在している必要があります。