sql裡的update實現多表更新
在開發中,資料庫來回換,而有些關鍵性的語法又各不相同,這是一件讓開發人員很頭痛的事情.本文總結了update語句更新多表時在sql server,oracle,mysql三種資料庫中的用法.我也試了sqlite資料庫,都沒成功,不知是不支援多表更新還是咋的. 在本例中: 我們要用表gdqlpj中的gqdltks,bztks欄位資料去更新landleveldata中的同欄位名的資料,條件是當landleveldata 中的geo_code字段值與gdqlpj中的lxqdm字段值相等時進行更新.
sql server語法:update set | @variable = expression | @variable = column = expression } [ ,...n ] [ ,...n ] ] [ where < search_condition > ] } | [ where current of | cursor_variable_name } ] } [ option ( < query_hint > [ ,...n ] ) ]
sql server示例: update a set a.gqdltks=b.gqdltks,a.bztks=b.bztks from landleveldata a,gdqlpj b where a.geo_code=b.lxqdm
oracle語法: update updatedtable set (col_name1[,col_name2...])= (select col_name1,[,col_name2...] from srctable [where where_definition])
oracel 示例: update landleveldata a set (a.gqdltks, a.bztks)= (select b.gqdltks, b.bztks from gdqlpj b where a.geo_code=b.lxqdm)
mysql語法: update table_references set col_name1=expr1 [, col_name2=expr2 ...] [where where_definition]
mysql 示例: update landleveldata a, gdqlpj b set a.gqdltks= b.gqdltks, a.bztks= b.bztks where a.geo_code=b.lxqdm
mysql批量更新 多表更新 多表刪除
mysql批量更新 多表更新 多表刪除 本節主要內容 mysql的批量更新 多表更新 多表刪除 一,批量更新 示例 update tepoi,pinf set tepoi.x pinf.fx,tepoi.y pinf.fy where tepoi.pid pinf.dmgis id and tepo...
關於ORACLE的UPDATE更新多表的問題
關於oracle的update更新多表的問題 有以下幾種方式可以實現 一種是 update table1 set field1,field2.select field1,field2.from table2 where table1.field1 table2.field1 where table1...
關於ORACLE的UPDATE更新多表的問題
關於oracle的update更新多表的問題 有以下幾種方式可以實現 一種是 update table1 set field1,field2.select field1,field2.from table2 where table1.field1 table2.field1 where table1...