sql >> Databáze >  >> RDS >> PostgreSQL

přesun dat z jedné tabulky do druhé, edice postgresql

[Rozšíření odpovědi dvv]

Do existující tabulky se můžete přesunout následovně. V případě neodpovídajícího schématu byste měli zadat sloupce.

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;

Ale chcete přesunout data do nového tabulka (nikoli existující), vnější syntaxe je odlišná:

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. Při kopírování hierarchických dat zachovejte vztahy rodiče a potomka

  2. Speciální znaky v názvu tabulky MySQL

  3. Přizpůsobte si Spotlight Cloud Alarms

  4. Formát sysjobhistory datum, čas a trvání sloupce na SQL Server