update tableA as a
 set a.field2=b.field2,
     a.field3=b.field3
from tableB as b
where a.field1=b.field1

解决方案 »

  1.   

    首先Update的目標對象不支持別名,更新的字段必須是目標對象的字段,所以雖然from子句當中的對象跟目標對象是同一對象,但是系統仍然不認.不過感覺很奇怪的樓主上面的SQL語句也能通過?a和b都不屬於使用一個表對象的別名,難道樓主數據庫當中還存在a和b這兩個表不成?有點疑惑也有點擔心.下面給出一條語句,僅供參考(其實樓主很有可能執行的本來就是類似的代碼^_^):
    update tableA
    set field2=b.field2,field3=b.field3
    from tableA a,tableB b where a.field1=b.field1