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;