T SQL 之 多表聯合更新

2022-02-06 18:24:07 字數 1556 閱讀 2580

1、 sqlite 多表更新方法

update ta set col1=tb.col1

from tablea ta inner join tableb tb on ta.col2=tb.col2

這是乙個非常簡單的批量更新語句 在sqlserver中支援此語法 sqlite中卻不支援,sqlite中可轉換為如下語法:

update tablea set col1=(select col1 from tableb where col2=tablea.col2)

2、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 ta set ta.col1=tb.col1,ta.col2=tb.col2 

from tablea ta,tableb tb

where ta.col3=tb.col3

3、access資料庫多表更新方法

x = "update " + dltb + " a inner join tbarea2 b  on a.objectid=b.fid  set a." + fd_dltb_xzdwmj + "=b.area_xzdw, a." + fd_dltb_lxdwmj + "=b.area_lxdw";

sqllist.add(x);

4、oracle 多表更新方法

update updatedtable 

set (col_name1[,col_name2...])=(select col_name1,[,col_name2...] from srctable

[where where_definition])

oracel 示例:

update tablea ta set (ta.col1, ta.col2)=(select tb.col1,tb.col2 from tableb tb 

where ta.col3=tb.col4)

5、mysql 多表更新方法

update table_references set col_name1=expr1 [, col_name2=expr2 ...]

[where where_definition]

mysql 示例:

update tablea ta, tableb tb 

set ta.col1=tb.col1, ta.col2=tb.col2

where ta.col3=tb.col4

Oracle多表聯合更新

以下是在後台更新易拓erp資料庫時遇到的乙個問題 1.在db14資料庫中將料件號p44開頭,並且品名為 塑膠袋 的料件改為消耗性料件.這個簡單 update db14.ima file set ima70 y where ima01 like p44 and ima02 塑膠袋 2.在以b021開頭...

聯合多表更新資料

正常思路 update t1 set t2.a select t2.a from t2 where t1.b t2.b 但是這樣執行之後會報錯 ora 01427 single row subquery returns more than one row 就是返回的值太多了,可能其中會包含一些重複行...

SQL Update多表聯合更新的方法

sql update多表聯合更新的方法 1 sqlite 多表更新方法 update t1 set col1 t2.col1 from table1 t1 inner join table2 t2 on t1.col2 t2.col2 這是乙個非常簡單的批量更新語句 在sqlserver中支援此語法...