Nie potrzebujesz do tego kursora, nie potrzebujesz plpgsql, nie potrzebujesz nawet CTE modyfikacji danych co pozwoliłoby ci to zrobić w jednej instrukcji SQL.
Po prostu uruchom dwa zwykłe INSERT
oświadczenia . Umieść je w transakcji, jeśli chcesz mieć pewność, że zastosowano wszystko lub nic:
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;