|
|
Archives of the TeradataForum
Message Posted: Fri, 15 Mar 2002 @ 15:53:09 GMT
Subj: | | Re: Multiload - IGNORE DUPLICATE UPDATE ROWS |
|
From: | | Geoffrey Rommel |
| I can't seem to figure out from the documentation exactly when this statement would have an effect in a Multiload . Can anyone
describe an example . | |
I haven't used this feature myself, but let me take a stab at this question. First, note this paragraph from the manual:
The MultiLoad utility determines whether a row is a duplicate as follows: in a table with a unique primary index, the row has the same
primary index value as an existing row without regard to the other columns of the row.
In other words, a "duplicate" is just a duplicate UPI value, not a duplicate of the entire row. If your target table has a NUPI, I take
it, IGNORE DUPLICATE UPDATE ROWS would have no effect.
If I am right so far, the meaning would be this: if you are loading into a table with a UPI, and you are updating the rows, and the
update would result in a duplicate PI value, the update will not work, but (because of the IGNORE clause) no row will be inserted into the
Error Table. It seems unlikely that you would be updating the PI values, though.
However, just above that, the manual also says: "IGNORE DUPLICATE ROWS does not apply if there are any unique indexes in the table." I
believe this is a confusion. ML will not work on tables that have USI's. Suppose that table T has both a NUPI and a USI: ML could not
process T at all, but this statement seems to imply that it could. Another erratum?
--wgr
| |