どのようなアプローチが違うのですか。代わりに、高速負荷でこれを解決する、次のステップで
以下
City | zip_code | country | column4
xyz | 12 | Esp |
NULL | abc | 12 | Por
のような構造でDATABASENAME.CITIES_TMPのような一時テーブルにデータをロードするよう
City | zip_code | country |
構造を持つターゲット表DATABASENAME.CITYを作成します最後のステップで2つのINSERTクエリを実行する必要があります。
INSERT INTO DATABASENAME.CITY (City, zip_code, country)
SELECT City, zip_code, country FROM DATABASENAME.CITIES_TMP
WHERE CITY not like 'NULL'/* WHERE CITY is not null - depends if null is a text value or just empty cell*/;
INSERT INTO DATABASENAME.CITY (City, zip_code, country)
SELECT Zip_code, country, column4 FROM DATABASENAME.CITIES_TMP
WHERE CITY like 'NULL' /* WHERE CITY is null - depends if null is a text value or just empty cell*/
もちろん、すべてのデータが指定したサンプルのように見える場合は、これが有効です。 これは、これをしばらくする必要がある場合にのみ機能します。 1日に数回データをロードする必要がある場合は、この文脈で適切な単語を使用しているかどうかわかりませんが、その場合はTalendツールなどのETLプロセスを構築する必要があります。
Teradataを初めてお使いの方は、Teradata Parallel Transporter(TPT)に精通していることをお勧めします。 Fastload、MLoad、およびFastExportは廃止予定です。 – xenodevil
FastLoadを使用して修正することはできません。入力ファイル内のデータは実際どのように見えますか? – dnoeth
問題のテーブルを編集しました。今私の質問がはっきりしていることを願う。システムが都市データをロードしようとするときはいつでも、都市列にNullなどが含まれていて、次の列からデータを取得するようなシステムが最初にスキャンする必要があるという論理があります。私はSQLでこのロジックを実装する方法を知らない –