25.09.2015 Views

Teradata Parallel Data Pump

Teradata Parallel Data Pump Reference - Teradata Developer ...

Teradata Parallel Data Pump Reference - Teradata Developer ...

SHOW MORE
SHOW LESS
  • 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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!