MERGE ステートメントは、同じ方法で順序付けられた複数のファイル (すなわち、 前もって同じ昇順 / 降順キーのセットに従ってソートされているファイル) を 1 つまたは複数のキーに基づいて結合します。 レコードは、マージされた順序で、出力プロシージャーまたは出力ファイルに対して使用可能になります。
MERGE ステートメントは、宣言セクション内でなければ手続き部のどこに記入してもかまいません。USING または GIVING ファイルの最大数は 32 です。
+----------------------------------IBM 拡張----------------------------------+
マージ操作の前に入力ファイルを順序付ける必要はありません。
+------------------------------End of IBM 拡張-------------------------------+
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----'
MERGE ステートメントの中でファイル名を繰り返すことはできません。
MERGE ステートメントでは、SAME AREA、SAME SORT AREA、または SAME SORT-MERGE AREA 文節を介してすでにストレージを共用しているファイル名のペアを指定しないでください。 ただし、MERGE ステートメントでは、SAME RECORD AREA 文節を共用しているファイルが GIVING 文節 (ファイル名-4) にも関連付けられる場合には、それらを指定できます。
MERGE ステートメントの実行時には、ファイル名-2、ファイル名-3、... に含まれているすべてのレコードがマージ・プログラムによって受け入れられ、 その後、指定されているキーに従ってマージされます。
ヌル可能フィールドはサポートされますが、ヌル値は ASSIGN 文節で ALWNULL が指定された DATABASE ファイルにだけサポートされます。
関連情報