sql >> Database teknologi >  >> RDS >> PostgreSQL

flyt data fra en tabel til en anden, postgresql edition

[Udvider på dvv's svar]

Du kan flytte til en eksisterende tabel som følger. For umatchede skemaer bør du angive kolonner.

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 vil flytte dataene til en ny tabel (ikke en eksisterende), den ydre syntaks er anderledes:

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. Kan ikke installere PostgreSQL:Der opstod en fejl under udførelse af Microsoft VC++ runtime installationsprogrammet på Windows XP

  2. Opret en database i SQL Server 2017

  3. Hvornår kaldes SQLiteOpenHelper onCreate-metoden?

  4. rumfejl:De kolonner, der returneres af forespørgslen, har ikke felterne feltnavn