SQL更新資料時多個欄位時合在一起的寫法
阿新 • • 發佈:2019-02-03
作者:iamlaosong
Oracle正常更新一個表中多個欄位時,欄位是分開寫的,例如:
update tb_county t
set t.prov_name = '安徽', t.city_name = '合肥市', t.xs_mc = '廬陽區'
where t.xs_code = '2300';
可是,更新的值如果來自一個子查詢,則這些欄位是可以合在一起寫的,例如:
update tb_county t set (t.prov_name, t.city_name, t.xs_mc) = (select t.prov_name, t.city_name, t.xs_mc from tb_yzbm t where t.postcode = '230000') where t.xs_code = '2300';
由此,我們可以將第一條語句改寫為:
update tb_county t set (t.prov_name, t.city_name, t.xs_mc) = (select '安徽', '合肥市', '廬陽區' from dual) where t.xs_code = '2300';
這樣的寫法人機互動時沒什麼好處,但是程式設計實現更新語句時,這樣的格式合成update語句要簡單的多。