XMLを使用して部分コピーを実行する場合は、部分コピーを実行するテーブルのtableタグに、1つのsql_where_clauseタグと1つ以上のkey_columnタグを埋め込みます。sql_where_clauseタグには、部分コピー ジョブで抽出に使用されるSQL WHERE句を指定します。key_columnタグは、ターゲット テーブルに列をUPSERTする際に各行を一意に識別する列の名前を指定するために使用します。
例:
<table selection="included"> <name>Table1</name> <sql_where_clause><![CDATA[ WHERE col1 > 4]]></sql_where_clause> <key_columns> <key_column>col1</key_column> <key_column>col2</key_column> </key_columns> </table>
sql_where_clauseタグの内部では、WHERE句は特別なCDATAタグ![CDATA[ where clause ]]で囲む必要があり、WHERE句にはWHEREキーワードを含める必要があります。SQLの最後には「;」を使用しないでください。
Teradata PTを使用して部分コピーを実行する場合は、Teradata PT export演算子は、単一AMP操作によって成立するWHERE句をサポートしません。例えば、テーブルのプライマリ インデックスまたは固有セカンダリ インデックス列に等価条件を含む制約付きのSELECT文(WHERE col1 = 1、ここでcol1はテーブルのプライマリ キー)などです。このような場合は、別のコピー方法を使用する必要があります。
最適な結果を得るために、プライマリ インデックスのうち少なくとも1つが固有の場合は、すべてのプライマリ インデックスをキー列として指定します。 PPIテーブルでは、すべてのプライマリ インデックスとパーティション列をキー 列として指定します。 プライマリ インデックスを指定するときにパーティション列を省略すると、ジョブが失敗する可能性があります。