PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

SELECT от една таблица, INSERT в две други таблици въз основа на условие

Нямате нужда от курсор за това, не се нуждаете от 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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Превърнете представянето на датата в postgres в низ по ISO 8601

  2. Промяна на плана за изпълнение на заявка в postgresql ръчно?

  3. PotgreSQL- ГРЕШКА:невалидна последователност от байтове за кодиране UTF8:0xeb 0x6e 0x74

  4. Проблеми при използване на pg_search с полиморфна асоциация

  5. Повторно използване на твърдо кодирана стойност в множество извиквания на функции в заявка на PostgreSQL