回覆列表
-
1 # 會更明白啊
-
2 # 使用者4243767351955
update table1 t1 set col1=(select col2 from table2 t2 where t2.id=t1.id);
--注意,table1表裡的id在table2中只能有一條資料,不然會報錯,如果有多條的話,你必須在子查詢里加where 過濾條件,保證查詢出來的只有一條,例如
update table1 t1 set col1=(select col2 from table2 t2 where t2.id=t1.id where rownum=1);
假設A表有欄位ID和NameA,B表有欄位ID和NameB,兩個表透過ID連線,把NameB更新到NameA,可以這麼寫:merge into Ausing(select NameB fromB) TMPon A.ID=TMP.IDwhen matched thenupdate set A.NameA=TMP.NameB你也可以寫Function或者procedure去用IF-Else來做,單數沒有merge來得方便。