Нямате нужда от курсор за това, не се нуждаете от plpgsql, дори не се нуждаете от CTE за промяна на данни което ще ви позволи да направите това в един SQL оператор.
Просто стартирайте два обикновени INSERT
отчетите . Поставете ги в транзакция, ако искате да сте сигурни, че се прилага всичко или нищо:
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;