Teradata Parallel Data Pump
Teradata Parallel Data Pump Reference - Teradata Developer ...
Teradata Parallel Data Pump Reference - Teradata Developer ...
- No tags were found...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Chapter 3: <strong>Teradata</strong> T<strong>Pump</strong> Commands<br />
DML<br />
Syntax Element<br />
ArraySupport<br />
ON/OFF<br />
Description<br />
“ArraySupport ON|OFF” option to the .BEGIN LOAD command and the<br />
.DML command<br />
When “ArraySupport ON” is specified in the .BEGIN LOAD command, the<br />
.DML commands enclosed in .BEGIN LOAD and .END LOAD command pair<br />
will use the ArraySupport feature for its DML statement, unless “ArraySupport<br />
OFF” is specified for the .DML command. The default value of ArraySupport<br />
for the .BEGIN LOAD command is OFF.<br />
When “ArraySupport ON|OFF” is not specified with the .DML command, the<br />
default value for ArraySupport for that .DML command is the effective setting<br />
of ArraySupport in the .BEGIN LOAD command where the .DML command<br />
resides. When “ArraySupport ON|OFF” is specified at the .DML command,<br />
the specified value overrides the default setting determined by the .BEGIN<br />
LOAD command.<br />
When a .DML command is using the ArraySupport feature, it must contain<br />
one and only one DML statement and the session partition that the .DML<br />
command references needs to be used exclusively by this .DML command.<br />
If the DML statement is an UPSERT-type statement, it can be specified as a<br />
pair of INSERT/UPDATE statements with DO INSERT FOR MISSING<br />
UPDATE clause. <strong>Teradata</strong> T<strong>Pump</strong> will create its equivalent form of UPDATE<br />
… ELSE INSERT …, example Atomic Upsert, and use it as the actual DML<br />
statement. Or an UPDATE … ELSE INSERT … statement can be directly<br />
specified with DO INSERT FOR MISSING UPDATE clause.<br />
The non-atomic form of UPSERT is not supported by <strong>Teradata</strong> T<strong>Pump</strong> Array<br />
Support.<br />
Usage Notes<br />
The SQL EXECUTE command must be used between the BEGIN LOAD command and the<br />
END LOAD command.<br />
All INSERT, UPDATE, DELETE, and EXECUTE statements specified in the <strong>Teradata</strong> T<strong>Pump</strong><br />
script should fully specify the primary index of the referenced table to prevent the generation<br />
of table-level locks.<br />
A maximum of 2430 DML statements may be packed into a request; the default is<br />
20 statements.<br />
<strong>Teradata</strong> T<strong>Pump</strong> assumes that row hash locking is used by INSERT, UPDATE, DELETE, and<br />
EXECUTE statements. If row hash locking is not used, <strong>Teradata</strong> T<strong>Pump</strong> will run anyway, but<br />
may encounter trouble because table-level locking will cause each statement to block.<br />
In addition, <strong>Teradata</strong> T<strong>Pump</strong> does not support UPDATE or EXECUTE statements that<br />
modify the primary index of the target table. <strong>Teradata</strong> T<strong>Pump</strong> performs no checking to<br />
prevent the script author from creating DML that requests unreasonable updates, except that<br />
<strong>Teradata</strong> T<strong>Pump</strong> will not use Atomic UPSERT if the UPDATE portion of the UPSERT<br />
specifies an unreasonable update. This restriction is imposed by <strong>Teradata</strong> <strong>Data</strong>base.<br />
IGNORE DUPLICATE ROWS does not apply if there are ANY unique indexes in the row.<br />
118 <strong>Teradata</strong> <strong>Parallel</strong> <strong>Data</strong> <strong>Pump</strong> Reference