The following table show the behavior of DataAdapter.Update with different combinations of settings:
Type of DML |
Session Mode |
Explicit Transaction Started |
Continue Update On Error |
Behavior |
INSERT |
Teradata or ANSI |
Yes |
False |
- Rows in batches are processed up to the batch that contains an error and will be applied to the table.
- Rows that were successfully processed in the batch that contained the error will be applied to the table.
- The number of rows successfully processed will be returned.
- Application can decide whether to commit changes.
|
INSERT |
Teradata or ANSI |
Yes |
True |
- All rows are processed.
- Update returns the number of rows that were successfully processed.
|
INSERT |
Teradata or ANSI |
No |
False |
- Rows in batches are processed up to the batch that contains an error and will be applied to the table.
- Rows that were successfully processed in the batch that contained the error will be applied to the table.
- The number of rows successfully processed will be returned.
- The exception that is thrown from Update will be the same exception that was generated by the row that caused the error.
|
INSERT |
Teradata or ANSI |
No |
True |
- All rows processed.
- Update returns the number of rows that were successfully processed.
|
Update or Delete |
Teradata |
Yes |
False |
- When an error occurs in a batch, all the parameter rows that have been successfully processed will be rolled back.
|
Update or Delete |
ANSI |
Yes |
False |
- Rows in the batch that contained the error will not get applied to the table.
- Rows in batches that have already been processed successfully will be applied.
- Batches that follow the batch that contains the error will not get processed.
|
Update or Delete |
Teradata or ANSI |
No |
False |
- Rows in the batch that contains the error will get applied to the table.
- Batches that have already been processed get applied to table.
- Processing stops at the batch that contains the error.
|
Update or Delete |
Teradata or ANSI |
No |
True |
- All rows are processed.
- Update returns the number of rows that were successfully processed.
|
Update or Delete |
Teradata |
Yes |
True |
- When a row fails an update in a batch, all the rows in batches that have already been successfully processed and applied to the SQL table will get rolled back.
- The rows that were successfully processed in the batch that contained the error will be applied to the SQL table.
- Batches that follow will be processed.
- The value returned from TdDataAdapter.Update is the number of rows that were successfully processed. This includes the rows that were rolled back.
|
Update or Delete |
ANSI |
Yes |
True |
- All rows are processed.
- Update returns the number of rows that were successfully processed.
|
See Also
Guideline for Efficiently Processing Batches
Working with Batch Size
Continue Processing When Errors Occur
TdTransaction
How Statement Independence Affects Batch Update