1. 程式人生 > >用一個表的資料更新另外一個表資料的用法(update from)

用一個表的資料更新另外一個表資料的用法(update from)

Oralce和DB2都支援的語法:UPDATE ASET (A1, A2, A3) = (SELECT B1, B2, B3 FROM B WHERE A.ID = B.ID)MS SQL Server不支援這樣的語法,相對應的寫法為:UPDATE A    SET A1 = B1, A2 = B2, A3 = B3    FROM A LEFT JOIN B ON A.ID = B.ID個人感覺MS SQL Server的Update語法功能更為強大。MS SQL SERVER的寫法:UPDATE A    SET A1 = B1, A2 = B2, A3 = B3    FROM A, B WHERE A.ID = B.ID在Oracle和DB2中的寫法就比較麻煩了,如下:UPDATE A    SET (A1, A2, A3) = (SELECT B1, B2, B3 FROM B WHERE A.ID = B.ID)    WHERE ID IN (SELECT B.ID FROM B WHERE A.ID = B.ID)注:如果要更新的表A資料量過大,而且僅更新表A的部分資料,那麼,需要在前面的語句中加入where篩選要操作的資料。