Postgre Update文でSelect文を利用するサンプル。 |
単純なUpdateではなく データの内容、複数の項目から設定値を導き、設定したいケースがある。 通常の手順であればデータパターンすべて、1つずつUpdate するかもしれない。それでは手間がかかる。確認も修正もしにくい。ミスも起こりやすい 一発で PGの分岐のように更新する 下記はテーブル内のフィールドを別フィールドシフト移行しているサンプル。(FLD_Bのデータを→FLD_Aへ FLD_Cのデータを→FLD_Bへ) テーブルは同一だが、別テーブルでも問題ないはず InnerJoinと同じ、テーブル結合と同じ begin; update TAB_A set FLD_A = TAB_A2.FLD_B ,FLD_B = TAB_A2.FLD_C from TAB_A TAB_A2 where TAB_A.KEY1 = TAB_A2.KEY1 ; --rollback; commit; end; |
【このカードへのコメント】