关于Update语句在不同数据库中的差别
生活随笔
收集整理的這篇文章主要介紹了
关于Update语句在不同数据库中的差别
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Oralce和DB2都支持的語法:
UPDATE?A?
?SET?(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)
UPDATE?A?
?SET?(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)
總結
以上是生活随笔為你收集整理的关于Update语句在不同数据库中的差别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: [小改进]Blog页面导航调整
- 下一篇: 刚发现博客园又遇到了问题