oracle瀛︿範涔?二绡囷紝澶氳〃杩炴帴鏇存柊

oracle瀛︿範涔?2绡囷紝澶氳〃杩炴帴鏇存柊
SQL UPDATE瀹炵幇澶氳〃鏇存柊

from:http://bbs.chinabyte.com/thread-347169-1-1.html
鍦ㄥ紑鍙戜腑,鏁版嵁搴撴潵鍥炴崲,鑰屾湁浜涘叧閿€х殑璇硶鍙堝悇涓嶇浉鍚?/span>,杩欐槸涓€浠惰寮€鍙戜汉鍛樺緢澶寸棝鐨勪簨鎯?/span>.鏈枃鎬荤粨浜?/span>Update璇彞鏇存柊澶氳〃鏃跺湪SQL Server,Oracle,MySQL涓夌鏁版嵁搴撲腑鐨勭敤娉?/span>.鎴戜篃璇曚簡SQLite鏁版嵁搴?/span>,閮芥病鎴愬姛,涓嶇煡鏄笉鏀寔澶氳〃鏇存柊杩樻槸鍜嬬殑. 鍦ㄦ湰渚嬩腑: 鎴戜滑瑕佺敤琛?/span>gdqlpj涓殑gqdltks,bztks瀛楁鏁版嵁鍘绘洿鏂?/span>landleveldata涓殑鍚屽瓧娈靛悕鐨勬暟鎹?/span>,鏉′欢鏄綋landleveldata 涓殑GEO_Code瀛楁鍊间笌gdqlpj涓殑lxqdm瀛楁鍊肩浉绛夋椂杩涜鏇存柊.
SQL Server
璇硶:UPDATE { table_name WITH ( < table_hint_limited > [ ...n ] ) | view_name | rowset_function_limited } SET { column_name = { expression | DEFAULT | NULL } | @variable = expression | @variable = column = expression } [ ,...n ] { { [ FROM { < table_source > } [ ,...n ] ] [ WHERE < search_condition > ] } | [ WHERE CURRENT OF { { [ GLOBAL ] cursor_name } | 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

鏈?/span>A銆?/span>B寮犺〃锛屽叾璁板綍濡備笅锛?/span>
A
琛?/span>
c1 c2
--------------
1 a1
2 a2
3 a3
8 a8
B
琛?/span>
c1 c3
--------------
1 b1
2 b1
3 b3
10 b10
A.c1
涓?/span>B.c1鐩哥瓑锛岀敤涓€鏉?/span>sql璇彞锛屽疄鐜?/span>A.c2鐨勫€兼洿鏂颁负B.c3
------------------------
UPDATE A
SET A.c2 =B.c3
from A ,B
where A.c1=B.c1
UPDATE A
SET A.c2 =B.c3
from A inner join B on A.c1=B.c1
娉ㄦ剰锛?/span>update鍚庨潰鏄笉鑳借窡澶氳〃鐨勶紝浣嗚窡鍦?/span>from瀛愬彞鍚庨潰

涓€涓叿浣撶殑渚嬪瓙锛?/span>

UPDATE t_bd_person t
SET t.FEmployeeClassifyID = 
(select ec.fid from CT_HR_RZZG ct
  inner join T_HR_EmployeeClassify ec on ct.fnumber=ec.fnumber
  where t.cfrzzgid=ct.fid)