Oralce和DB2都支持的语法:
UPDATEA
SET(A1,A2,A3)=(SELECTB1,B2,B3FROMBWHEREA.ID=B.ID)
MS SQL Server不支持这样的语法,相对应的写法为:
UPDATEA
SETA1=B1,A2=B2,A3=B3
FROMALEFTJOINBONA.ID=B.ID
个人感觉MS SQL Server的Update语法功能更为强大。MS SQL SERVER的写法:
UPDATEA
SETA1=B1,A2=B2, A3 = B3
FROMA,BWHEREA.ID=B.ID
在Oracle和DB2中的写法就比较麻烦了,如下:
UPDATEA
SET(A1,A2,A3)=(SELECTB1,B2,B3FROMBWHEREA.ID=B.ID)
WHEREIDIN(SELECTB.IDFROMBWHEREA.ID=B.ID)