MERGE

新しいデータをターゲットの DataSet または DataTable にマージします。

構文、書き方 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 ターゲットの現在の値が上書きされないように、ソースから値を受け取らないようにします (Original のみ)。
ON SCHEMA DIFFERENCE ソースとターゲットの DataSet または DataTable スキーマが異なる場合の動作を指定します。

説明:

新しいデータのソースは、完全な DataSet、別の DataSet の DataTable、または別の DataSet 内の DataTable の DataRow のセットです。

.NET API 標準に従って、ターゲットの DataSet または DataTable の変更を保存するオプションがあります。

スキーマが異なる場合の動作を指定することもできます。

例:

     EXEC ADO
        MERGE DATASET FROM :changesDSobj
     END-EXEC

     EXEC ADO 
        MERGE DATATABLE TABLE2 FROM DATATABLE TABLE1 FOR ADDED ROWS  
     END-EXEC