-1

私の質問は簡単ですが、テーブルの古い値を削除し、同じクエリの結果で同じテーブルを更新する方法がわかりません。

アップデート

クエリはテーブル A の SELECT であり、結果はテーブル B になります。また、テーブル A の最後のクエリの結果と異なるテーブル B はありません。

非常に大きなテーブルがあり、定期的にレコードを処理して新しいテーブルを作成する必要があります。このテーブルの古い値は重要ではなく、新しい値のみが重要です。

どんな助けにも感謝します。

4

2 に答える 2

1

1 つのセッションでのみ必要な場合は、一時テーブルを使用して作業中の結果を保存できます。サインアウトすると自動的に削除されます。

使用しているデータベースは言いませんでしたが、これを試してください

create temp tableB AS select * from tableA
于 2013-02-26T17:19:48.977 に答える
1

ビューはどうですか?クエリを実行するためにテーブル B のみが必要な場合。テーブル A に選択があると言いました。あなたの選択が であるとしましょうSELECT * FROM TableA WHERE X = Y。次に、あなたの声明は

CREATE VIEW vwTableB AS 
   SELECT * FROM TableA WHERE X = Y

次に、tableB をクエリする代わりに、vwTableB をクエリします。テーブル A のデータに対する変更はビューに反映されるため、自分でスクリプトを実行し続ける必要はありません。

これは、vwTableB のデータが更新され続けるため、2 番目のテーブルの削除と挿入を繰り返す必要がありません。

于 2013-02-26T17:35:18.527 に答える