私の質問は簡単ですが、テーブルの古い値を削除し、同じクエリの結果で同じテーブルを更新する方法がわかりません。
アップデート
クエリはテーブル A の SELECT であり、結果はテーブル B になります。また、テーブル A の最後のクエリの結果と異なるテーブル B はありません。
非常に大きなテーブルがあり、定期的にレコードを処理して新しいテーブルを作成する必要があります。このテーブルの古い値は重要ではなく、新しい値のみが重要です。
どんな助けにも感謝します。
私の質問は簡単ですが、テーブルの古い値を削除し、同じクエリの結果で同じテーブルを更新する方法がわかりません。
アップデート
クエリはテーブル A の SELECT であり、結果はテーブル B になります。また、テーブル A の最後のクエリの結果と異なるテーブル B はありません。
非常に大きなテーブルがあり、定期的にレコードを処理して新しいテーブルを作成する必要があります。このテーブルの古い値は重要ではなく、新しい値のみが重要です。
どんな助けにも感謝します。
1 つのセッションでのみ必要な場合は、一時テーブルを使用して作業中の結果を保存できます。サインアウトすると自動的に削除されます。
使用しているデータベースは言いませんでしたが、これを試してください
create temp tableB AS select * from tableA
ビューはどうですか?クエリを実行するためにテーブル B のみが必要な場合。テーブル A に選択があると言いました。あなたの選択が であるとしましょうSELECT * FROM TableA WHERE X = Y
。次に、あなたの声明は
CREATE VIEW vwTableB AS
SELECT * FROM TableA WHERE X = Y
次に、tableB をクエリする代わりに、vwTableB をクエリします。テーブル A のデータに対する変更はビューに反映されるため、自分でスクリプトを実行し続ける必要はありません。
これは、vwTableB のデータが更新され続けるため、2 番目のテーブルの削除と挿入を繰り返す必要がありません。