MERGE ステートメント

MERGE ステートメントは、同じ方法で順序付けられた複数のファイル (すなわち、 前もって同じ昇順 / 降順キーのセットに従ってソートされているファイル) を 1 つまたは複数のキーに基づいて結合します。 レコードは、マージされた順序で、出力プロシージャーまたは出力ファイルに対して使用可能になります。

MERGE ステートメントは、宣言セクション内でなければ手続き部のどこに記入してもかまいません。USING または GIVING ファイルの最大数は 32 です。

IBM Extension

IBM Extension マージ操作の前に入力ファイルを順番に並べる必要はありません。 End of IBM Extension

End of IBM Extension
構文図を読む構文図をスキップする
MERGE ステートメント - 形式

>>-MERGE--ファイル名-1---------------------------------------------------->

   .-------------------------------------------------.   
   |                                  .------------. |   
   V                                  V            | |   
>----+----+--+-ASCENDING--+--+-----+----データ名-1-+-+-------------------->
     '-ON-'  '-DESCENDING-'  '-KEY-'                 

>--+-----------------------------------------+---------------------------->
   '-+-----------+--SEQUENCE--+----+--英字名-'   
     '-COLLATING-'            '-IS-'          

                        .--------------.                               
                        V              |                               
>--USING--ファイル名-2----ファイル名-3-+--+-| OUTPUT PROCEDURE 句 |---+--><
                                          |         .--------------.  |   
                                          |         V              |  |   
                                          '-GIVING----ファイル名-4-+--'   

OUTPUT PROCEDURE 句

|--OUTPUT PROCEDURE--+----+--プロシージャー名-1--------------------------->
                     '-IS-'               

>--+---------------------------------+------------------------------------|
   '-+-THROUGH-+--プロシージャー名-2-'   
     '-THRU----'                 

ファイル名-1
SD 記入項目で指定された、レコードを記述する名前。

MERGE ステートメントの中でファイル名を繰り返すことはできません。

MERGE ステートメントでは、SAME AREA、SAME SORT AREA、または SAME SORT-MERGE AREA 文節を介してすでにストレージを共用しているファイル名のペアを指定しないでください。 ただし、MERGE ステートメントでは、SAME RECORD AREA 文節を共用しているファイルが GIVING 文節 (ファイル名-4) にも関連付けられる場合には、それらを指定できます。

MERGE ステートメントの実行時には、ファイル名-2、ファイル名-3、… に含まれているすべてのレコードがマージ・プログラムによって受け入れられ、 その後、指定されているキーに従ってマージされます。

ヌル可能フィールドはサポートされますが、 ヌル値は ASSIGN 文節で ALWNULL が指定された DATABASE ファイルにだけサ ポートされます。