Merges new data into a target DataSet or DataTable.
Syntax, Format 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 -+
Syntax, Format 2:
>>--EXEC ADO--.-------------------.-MERGE DATASET ------------>
+-USING dataset_name+
>---src_dataset_name -----.--------------------.------------->
+--PRESERVE CHANGES--+
>---.--------------------------------------.-END-EXEC--------><
| |
+-ON SCHEMA DIFFERENCE--+-ADD -+
+-ADD WITH KEY-+
+-ERROR -+
+-IGNORE -+
Syntax, Format 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 -+
Syntax, Format 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 -+
Parameters:
dataset_name
|
The target DataSet to be used. If you do not specify
dataset_name, the current DataSet is used.
|
src_dataset_hv
|
The host variable that contains the source DataSet for the merge.
|
src_dataset_name
|
The source DataSet name that specifies which DataRows of a DataTable to use as the source for the merge.
|
dest_datatable
|
The destination into which DataTable data is to be merged.
|
src_datatable
|
The source that the DataTable data is to be copied from.
|
search_conditions
|
Any valid expression that can follow the standard SQL WHERE clause.
|
PRESERVE CHANGES
|
Prevents incoming values from the source overwriting the current values in the target (only Original).
|
ON SCHEMA DIFFERENCE
|
Specifies what happens if the DataSet or DataTable schemas of the source and target are different.
|
Examples:
EXEC ADO
MERGE DATASET FROM :changesDSobj
END-EXEC
EXEC ADO
MERGE DATATABLE TABLE2 FROM DATATABLE TABLE1 FOR ADDED ROWS
END-EXEC
Comments:
The source of the new data is either a complete DataSet, a DataTable from another DataSet, or a set of DataRows from a DataTable in another DataSet.
In accordance with the .NET API standards, there is an option to preserve changes in the target DataSet or DataTable.
You can also specify what actions are taken if a schema difference is encountered.