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

Как да определите автоматично генерирания първичен ключ, използван като външен ключ за друга таблица

Отговор на Q1:Използвайте CTE за модифициране на данни и върнете серийния PK с RETURNING клауза:

WITH ins_main AS (
   INSERT INTO main(col1)
   VALUES ('some value 1')
   RETURNING main_id    
   )
, ins_submain AS (
   INSERT INTO submain (main_id, col2)
   SELECT main_id, 'some value 2'
   FROM   ins_main
   RETURNING submain_id
   )
INSERT INTO subsub (submain_id, col3)
SELECT submain_id, 'some value 3'
FROM   ins_submain;

Изисква Postgres 9.1 или по-късно.
Свързани отговори с обяснение и връзки:

  • Вмъквайте данни в 3 таблици наведнъж с помощта на Postgres
  • Стойността на съхранение на PostgreSQL, върната от RETURNING



  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

  2. Postgresql генерира_серия от месеци

  3. Използване на PgBouncer Connection Pooler за PostgreSQL с ClusterControl 1.8.2

  4. Как мога да стартирам PostgreSQL сървър на Mac OS X?

  5. Как да превключвам бази данни в psql?