背景:私のチームには、集計テーブルを更新するetlジョブがあります。各行には特定の日付のデータが含まれていますが、この行は行の日付の後に更新されます(行には複数のジョブのデータが含まれる可能性があります)。このETLジョブは先週1日分のデータを欠落していましたが、これをバックフィルする必要があります。新しいテーブルを作成せずにテーブルを更新する/挿入する方法(一時的またはそれ以外)
問題:欠落しているデータがあり、私がやっていることは、そのデータを一時テーブルにダンプし、それをaggテーブルとマージすることでした。そのようにして、ETLジョブにすでにそのデータの行(更新)が含まれているか、新しい行を追加する必要があるか(挿入)、一時表を作成するための十分な権限がないかどうか、 DBAに関与しないことをお勧めします。
質問:一時的なテーブルを作成せずに挿入/更新の種類の動作を行うことはできますか(これはOracle SQLです)。
編集:データはtsvファイルから送信されています。
データはどこですか? –
欠けているデータはどこにありますか?それはテーブルとしてオラクルにありますか?あるいは、それはある種のスプレッドシートまたは外部データベースにありますか?あなたの質問が正しく理解され、データが外部データベースにあると仮定すると、実現する各行に対してデュアルとの組み合わせを使用してデータをOracleに「実体化」しなければならないと思います。デュアルユニオンから2を2、デュアルからすべてを選択3、4を選択してください。前のsqlを外部のデータベースを介して生成できるはずです。 – Sumit
データは実際にはtsvファイルからのものです。 – user467384