• 富山県の地元実績多数のホームページ制作会社・アウェイクコンピューター
  •  お電話:076-483-9951(受付:平日10時~16時)

PostgreSQLの話  UPDATE文の中にSELECT文を含める

UPDATEの中にSELECT文を含めたいと思うことがあります。一例として、ある変更情報を持っているワークテーブルからIDと変更データを読み込んで、変更を加えたい本体のテーブルのデータにUPDATEコマンドを適用するという方法を考えてみます。以下が例文です。sitenameworkテーブルはstidとstpasswdの2つのフィールドを持っており、これをもとに、本体のsitenameテーブルのstpasswdフィールドを変更したいと思います。

UPDATE sitename set stpasswd = atab.stpasswd
FROM (SELECT stid,stpasswd FROM sitenamework) atab
WHERE sitename.stid = atab.stid ;

atab というのは、この文の中だけで用いるワーク用のテーブル名で、この場合、sitenameworkに対応させています。