sql >> Databasteknik >  >> RDS >> PostgreSQL

flytta data från en tabell till en annan, postgresql edition

[Expanderar på dvv:s svar]

Du kan flytta till en befintlig tabell enligt följande. För omatchat schema bör du ange kolumner.

WITH moved_rows AS (
    DELETE FROM <original_table> a
    USING <other_table> b
    WHERE <condition>
    RETURNING a.* -- or specify columns
)
INSERT INTO <existing_table> --specify columns if necessary
SELECT [DISTINCT] * FROM moved_rows;

Men du vill flytta data till en ny tabell (inte en befintlig), är den yttre syntaxen annorlunda:

CREATE TABLE <new_table> AS
WITH moved_rows AS (
    DELETE FROM <original_table> a
    USING <other_table> b
    WHERE <condition>
    RETURNING a.* -- or specify columns
)
SELECT [DISTINCT] * FROM moved_rows;


  1. Skriver du valfria parametrar inom lagrade procedurer i MySQL?

  2. Hur man ändrar datumformat i Oracle-databasen

  3. Python REST API:er med kolv, anslutning och SQLAlchemy – Del 3

  4. Vilken kolumn ska det klustrade indexet placeras på?