sql >> データベース >  >> RDS >> PostgreSQL

別のテーブルの外部キーとして使用される自動生成された主キーを判別する方法

    Q1への回答:データ変更CTEを使用し、RETURNINGでシリアルPKを返します 条項:

    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が必要です またはそれ以降。
    説明とリンクを含む関連する回答:

    • Postgresを使用して一度に3つのテーブルにデータを挿入します
    • RETURNINGによって返されるPostgreSQLストアの値



    1. PostgreSQLデータベースサービス

    2. SQLServerのログイン前ハンドシェイク確認エラー

    3. プロアクティブなSQLServerヘルスチェック、パート1:ディスク容量

    4. MySQLのインデックスを理解する:パート3