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

VÆLG fra én tabel, INDSÆT i to andre tabeller baseret på betingelse

Du behøver ikke en markør til dette, du behøver ikke plpgsql, du behøver ikke engang en datamodificerende CTE hvilket ville tillade dig at gøre det i en enkelt SQL-sætning.

Bare kør to almindelige INSERT udsagn . Sæt dem i en transaktion, hvis du vil sikre dig, at alt eller intet er anvendt:

BEGIN;

INSERT INTO B (col1, col2)
SELECT col1, col2
FROM   A
WHERE  col_cond = 'something';

INSERT INTO C (col1, col2)
SELECT col1, col2
FROM   A
WHERE  col_cond IS DISTINCT FROM 'something';

COMMIT;


  1. PostgreSQL:Unik overtrædelse:7 FEJL:dubletnøgleværdi overtræder unik begrænsning users_pkey

  2. Rails SQL-forespørgsel med % jokertegn virker i SQLite, men ikke PostgreSQL?

  3. MySQL:Forskel mellem `... ADD INDEX(a); ... TILFØJ INDEKS(b);` og `... TILFØJ INDEKS(a,b);`?

  4. mysql tjek sammenstilling af en tabel