Tuesday, September 13, 2011

SQL UPDATE FROM 的使用方法

在資料庫作架構修改時,時常會遇到的情況是要將一個Table裡資料複製到另一的Table資料。這時UPDATE FROM的語法就非常有效。
應該會有更多不同情況下會用的這語法,一時想不起來。
使用方法是這樣的:
假設有,
  • 一個產品的Table叫做Product
  • 另一個Table也是放產品的資料,但在架構修改後就不再使用了,叫OldProduct
  • 他們都有一個PK叫做SerialNumber
現在要把OldProduct中的一個ProductCategory複製到Product中對應資料的ProductCategoryCode欄位

UPDATE Product
SET ProductCategoryCode = o.ProductCategory
FROM OldProduct o JOIN Product p

ON o.SerialNumber = p.SerialNumber

這樣就行了,這等於就是將一個UPDATE跟一個SELECT併在一起,超方便。