2017-01-17 5 views
0

ETLツールtalendを使用して、OracleソースからGreenlandターゲットに取り込む必要があるテーブルがあります。テーブルが巨大なので、毎日データを段階的に読み込む必要があります。テーブルにはプライマリキーまたはユニークキーはありません。プライマリキーなしでpostgresテーブルに更新または挿入

テーブルに日付の列がありますが、最後の更新日から両方の挿入/更新されたレコードを取得できますが、そのデータを挿入するにはプライマリキーが必要です。

プライマリキーを使用せずにデータをロードする方法についての解決策はありますか?

+1

データとコードを投稿してください。 –

+0

私はこれを行うためにJDBCに頼るのではなく、ステージテーブルを作成してそこにインクリメントを置いて、2つのステートメント(delete + insert)を記述し、それらをトランスクリプトの中で実行します。言及された他のものとして、あなたは鍵を定義しなければなりません。 –

+0

@Balazs Gunicsどのような基準でレコードを削除できますか?あなたは例を挙げることができますか?キーがないので、どのように私は削除ステートメントをフレームすることができません –

答えて

0

あなたはこのように、ターゲット表に挿入するコンポーネントのスキーマに才能であなたの鍵を定義する必要があります。で、

enter image description here

そして、あなたはあなたのテーブルを更新するには、このキーを使用することができます同じコンポーネントの高度な設定は、チェックボックスuse fields optinsをアクティブにし、あなたのキーを選択します。これは、テストされ、Oracleに対してうまく働いている

enter image description here

主キーを持たないテーブルであり、それはあなたのために働くはずです。

関連する問題