人気コンテンツ今日: |
Oracle 別表(別テーブル)から値をコピーして一括更新するsasaki 火曜, 2006-08-01 18:56
別のテーブルからフィールドの値をコピーしてUPDATEしたいときがある。 郵便番号の一覧表から、都道府県をコピーする。などというときに使う。 UPDATE時に、SELECT結果を用いるというやり方で実施する。
■別表からコピーして行を更新する自分の住所録の住所欄に郵便番号リストの住所をコピーする。(全ての行を一括で更新) SQL> UPDATE my_addr
一部の行だけ変更したいとき。(WHEREで指定する) SQL> UPDATE my_addr
複数の列(カラム)を変更したいとき。 SQL> UPDATE my_addr
確認してOKだったら commit; を忘れずに実行する。
■販売店テーブルの一部の店名が新しくなった場合吸収合併等で社名が変わるのは、よくある話し。 わざと正規化していないテーブルだと、販売時の店名を残しておくことができることがメリット。でも「今の会社名に変更したいよね」なんてこともある。 古い販売店テーブル
新しい販売店テーブル
販売記録テーブル
期待する、更新後の販売記録テーブル
一括更新する方法、その1。 SQL> UPDATE 販売記録テーブル 実行すると、販売記録テーブルの全件が更新される。
一括更新する方法、その2。 SQL> UPDATE 販売記録テーブル 変更対象を 'はい' に絞ることで、販売記録テーブルの2件だけが更新される。
一括更新する方法、その3。 SQL> UPDATE 販売記録テーブル 複数の列(カラム)も、合わせて一括更新したいとき。
印刷用 | カウント(266)
|
Oracleamazon広告英語お勧め教材! 英語の学校でも使っているのですが、1つのストーリーを3分で読めて、内容も面白く、もっと早く出会いたかった本です。 Apple好きで英語も勉強したいならこの一冊! 天気情報ブログパーツ |