sql >> Database >  >> RDS >> PostgreSQL

SELECTEER uit één tabel, INSERT in twee andere tabellen op basis van voorwaarde

Je hebt hiervoor geen cursor nodig, je hebt geen plpgsql nodig, je hebt zelfs geen gegevensmodificerende CTE waarmee u dat in een enkele SQL-instructie zou kunnen doen.

Voer gewoon twee gewone INSERT uit uitspraken . Zet ze in een transactie als u er zeker van wilt zijn dat alles of niets wordt toegepast:

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. In batches ophalen van gegevens uit MySQL via Python

  2. WEEKOFYEAR(NOW()) vs WEEK('2018-05-1') - de huidige datum

  3. Laad gegevensbestand MySQL met absolute URL

  4. mysqldump back-up en herstel naar externe server