最近遇到乙個sql問題。老大們讓我把乙個表中的一列資料做更新。更新的內容和對照表有給提供。後來仔細檢視資料 總結出這樣的sql
語句。update 更新表 b set(b.需要更新的字段) = (
select a.參考更新字段 from 對照表 a where a.對照表舊欄位=b.更新表需要更新的字段
)注意:一定要用where條件。
這個sql的意思試試活把b表的需要更新字段通過查詢對照表與原來的錶用where做連線,把需要更新的字段查出來。這樣就可以進行批量更新了。
Oracle根據乙個表更新另乙個表的幾種寫法
1.declare cursor t1 is select from tablename begin for rec in t1 loop update tablename t set t.detail rec.jieshao where t.objectid rec.objid end loop ...
Oracle中用乙個表的資料更新另乙個表的資料
更新完後的結果是 select from tab1,在tab1中有的行,如果在tab2中沒有對應的行,值被更新為null.比如在tab2中再插入一條 insert into tab2 values 2,x merge into tab1 using select from tab2 x where ...
用乙個表的記錄更新另外乙個表
用table 1的address,phone number更新table 2的address,phone number,注意 1.set 後面加上要更新的列,有多個要更新的列時,加上多個列,2.where 後面加上table 1和table 2的關聯列,有多個關聯列時,加上多個列 3.rownum用...