2つの同一のテーブルpost
とold_post
があります。古い投稿をチェックするクエリがあります。クエリによって返された行をテーブルold_post
に移動し、テーブルpost
から行を削除したいと思います。SQLAlchemyを使用して1つのテーブルから別のテーブルに一括移動する
最初のクエリで返された結果を反復処理して結果を更新することでこれを解決できますが、これは非常に非効率で、1,000以上の行があると問題が発生することになります。 1つのテーブルから別のテーブルに効率的に行をバルク移動するにはどうすればよいですか?あなたは、DELETEのためのPostgreSQL
で Common Table ExpressionsWITH moved_posts AS (
DELETE FROM post
WHERE expiry > time_stamp
RETURNING *
)
INSERT INTO old_post
SELECT * from moved_posts
CTEのサポートを使用することができます
なぜあなたもそれらを移動しようとしていますか? – davidism
私のアプリケーションの一部の機能です。 – Joshua
なぜ機能ですか?古い投稿を別のテーブルに移動するには、どのような方法がありますか?必要なときに通常のテーブルの古い投稿を照会するだけです。またはビューを作成します。 – davidism