PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

преместване на данни от една таблица в друга, postgresql издание

[Разширяване на отговора на dvv]

Можете да преминете към съществуваща таблица, както следва. За несъответстваща схема трябва да посочите колони.

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;

Но вие искате да преместите данните внов таблица (не съществуваща), външният синтаксис е различен:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ActiveRecord::AdapterNotSpecified конфигурацията на базата данни не посочва адаптер

  2. Управление на замръзване в PostgreSQL

  3. Диалектът трябва да бъде изрично предоставен от v4.0.0

  4. Конфигурация на Puma Cluster на Heroku

  5. Тестове на Parallel Go, изпълнени срещу PostgreSQL база данни, работеща на Docker