構文:形式 1
>>--EXEC ADO--.-------------------.-MERGE DATASET FROM ------->
              +-USING dataset_name+
 >---:src_dataset_hv --.--------------------.----------------->
                       +--PRESERVE CHANGES--+
 >---.--------------------------------------.-END-EXEC--------><
     |                                      |
     +-ON SCHEMA DIFFERENCE--+-ADD         -+
                             +-ADD WITH KEY-+
                             +-ERROR       -+
                             +-IGNORE      -+
構文:形式 2
>>--EXEC ADO--.-------------------.-MERGE DATASET ------------>
              +-USING dataset_name+
 >---src_dataset_name -----.--------------------.------------->
                           +--PRESERVE CHANGES--+
 >---.--------------------------------------.-END-EXEC--------><
     |                                      |
     +-ON SCHEMA DIFFERENCE--+-ADD         -+
                             +-ADD WITH KEY-+
                             +-ERROR       -+
                             +-IGNORE      -+
構文:形式 3
>>--EXEC ADO--.-------------------.-MERGE DATATABLE----------->
              +-USING dataset_name+
 >---dest_datatable FROM DATASET src_dataset_name------------->
 >-------------.------------------------------------.--------->
               +-FOR-.-ADDED-------------.-DATAROWS-+
                     +-CURRENT-----------+
                     +-DELETED-----------+
                     +-MODIFIED CURRENT--+
                     +-MODIFIED ORIGINAL-+
                     +-ORIGINAL----------+
                     +-UNCHANGED---------+
 >--.-------------------------.---.--------------------.------>
    +-WHERE search conditions-+   +--PRESERVE CHANGES--+
 >---.--------------------------------------.-END-EXEC--------><
     |                                      |
     +-ON SCHEMA DIFFERENCE--+-ADD         -+
                             +-ADD WITH KEY-+
                             +-ERROR       -+
                             +-IGNORE      -+
構文:形式 4
>>--EXEC ADO---MERGE DATATABLE-------------------------------->
 >---dest_datatable FROM DATATABLE src_datatable_name--------->
 >---.------------------------------------.------------------->
     +-FOR-.-ADDED-------------.-DATAROWS-+
           +-CURRENT-----------+
           +-DELETED-----------+
           +-MODIFIED CURRENT--+
           +-MODIFIED ORIGINAL-+
           +-ORIGINAL----------+
           +-UNCHANGED---------+
 >---.-------------------------.---.--------------------.---->
     +-WHERE search conditions-+   +--PRESERVE CHANGES--+
 >---.--------------------------------------.-END-EXEC---><
     |                                      |
     +-ON SCHEMA DIFFERENCE--+-ADD         -+
                             +-ADD WITH KEY-+
                             +-ERROR       -+
                             +-IGNORE      -+
パラメーター:
| dataset_name | 使用するターゲット DataSet。dataset_name を指定しない場合は、現在の DataSet が使用されます。 | 
| src_dataset_hv | マージ用のソース DataSet を格納するホスト変数。 | 
| src_dataset_name | マージ用のソースとして使用する DataTable の DataRow を指定するソース DataSet の名前。 | 
| dest_datatable | DataTable データのマージ先。 | 
| src_datatable | DataTable データのコピー元。 | 
| search_conditions | 標準の SQL WHERE 句に準拠した有効な式。 | 
| PRESERVE CHANGES | ターゲット内の現在の値を上書きする値をソースから受け取らないようにする(新規の値のみ)。 | 
| ON SCHEMA DIFFERENCE | ソースとターゲットの DataSet または DataTable スキーマが異なる場合の処理を指定する。 | 
 
 
目的:
MERGE 文では、ターゲット DataSet または DataTable に新しいデータをマージします。新しいデータのソースは、完全な DataSet、別の DataSet 内の DataTable、または別の DataSet 内の DataTable の一連の DataRow です。
.NET API 標準に従って、ターゲット DataSet または DataTable の変更を保持するためのオプションも用意されています。
また、スキーマが異なる場合に実行する処理を指定することもできます。