• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Postgresにて)

Postgresデータベース勉強中でUPDATEとINSERTの方法について相談

このQ&Aのポイント
  • Postgresのデータベース勉強中で、UPDATEとINSERTの方法について相談です。Table_AとTable_Bには形式が同じでデータが異なるため、Table_Bの更新データをTable_Aに反映させたいと考えています。
  • DELETE文とINSERT文を使用する方法も考えましたが、美しくないと感じています。UPDATE文とINSERT文を組み合わせて実現する方法があれば教えてください。
  • その他にも良い方法があれば教えていただきたいです。質問文章に詳細が記載されていますので、ご確認ください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

そのままですが /*TABLE_Bの新規データを挿入*/ insert into TABLE_A select * from TABLE_B where CODE not in (select CODE from TABLE_A) /*更新データをTABLE_Aに反映*/ update TABLE_A DST set ([Field1], ....) = (select * from TABLE_B SRC where SRC.CODE = DST.CODE ) where DST.CODE in (select CODE from TABLE_B) で多分できると思います。確認する環境がないのでご了承ください。 ちなみに今回はUpdateのWhere句は必要がないですが意味あい的つけてみました。 また、OracleのPLANTABLEを使用した解析結果上ではupdateではexistsよりinを使用するほうが パフォーマンスがよいことが多いです。 Postgresの調べ方を知らないものですみません。

関連するQ&A