Bạn không cần con trỏ cho việc này, bạn không cần plpgsql, thậm chí bạn không cần CTE sửa đổi dữ liệu điều này sẽ cho phép bạn làm điều đó trong một câu lệnh SQL.
Chỉ cần chạy hai đơn giản INSERT
tuyên bố . Đưa chúng vào giao dịch nếu bạn muốn đảm bảo rằng tất cả hoặc không có gì được áp dụng:
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;