台灣最大程式設計社群網站
線上人數
1484
 
會員總數:240680
討論主題:186538
歡迎您免費加入會員
討論區列表 >> MS SQL >> 如何使用 UPDATE...SELECT 做大量更新?
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何使用 UPDATE...SELECT 做大量更新?
價值 : 10 QP  點閱數:77774 回應數:7

樓主

苦命工程師
門外漢
0 20
280 39
發送站內信

想請問一下
這是 UPDATE ... select 語法:

UPDATE a
SET a.a1 = ( SELECT b.b1
FROM b
WHERE a.a1 = b.b1)

如果要更新多筆怎麼寫?

UPDATE a
SET a.a1,a.a2,a.a3,a.a4 = ( SELECT b.b1,b.b2,b.b3,b.b4
FROM b
WHERE a.a1 = b.b1)

這樣嗎?謝謝各位高手



搜尋相關Tags的文章: [ SQL ] , [ MYSQL ] , [ MSSQL ] ,
本篇文章發表於2010-01-07 14:12
== 簽名檔 ==
wedding
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
>>SET a.a1,a.a2,a.a3,a.a4 = ......
這也太強了吧 @@

set a.a1 = xxx, a.a2 = xxxx, 類推...
本篇文章回覆於2010-01-07 14:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

苦命工程師
檢舉此回應
XD

所以是

UPDATE a
SET a.a1=b.b1,a.a2=b.b2, a.a3=b.b3, a.a4=b.b4
(
SELECT b.b1,b.b2,b.b3,b.b4
FROM b
WHERE a.a1 = b.b1
)
是這樣嗎?
本篇文章回覆於2010-01-07 14:21
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

亞肯多斯
捐贈 VP 給 亞肯多斯 檢舉此回應
有試過這樣的寫法嗎?
UPDATE a
SET (a1,a2) = (SELECT b1, b2 ....)
本篇文章回覆於2010-01-07 14:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
最有價值解答

Bryan(不來ㄣ)
捐贈 VP 給 Bryan(不來ㄣ) 檢舉此回應

本篇文章回覆於2010-01-07 14:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

苦命工程師
檢舉此回應
喔喔!感謝
跑出來了 XD
本篇文章回覆於2010-01-07 16:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

shu
檢舉此回應
我也有這樣的問題耶,但我用樓上的語法出不來,可以請各方大師協助一下嗎 問題如下,感恩大家

update `click_data` set `click_data`.`Single_money`=`click_data2`.`Single_money`
from `click_data2`where `click_data`.`ISRC`=`click_data2`.`ISRC`


錯誤訊息如下:
錯誤
SQL 查詢:


update `click_data` set `click_data`.`Single_money`=`click_data2`.`Single_money`
from `click_data2`where `click_data`.`ISRC`=`click_data2`.`ISRC`
MySQL 回應: 說明文件

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from `click_data2`where `click_data`.`ISRC`=`click_data2`.`ISRC`' at line 2

=======================================================================
不知到底錯在那兒  .............
本篇文章回覆於2015-12-29 11:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

EDB
檢舉此回應
怎麼你的欄位名稱有單引號?去掉試試看。
本篇文章回覆於2015-12-29 12:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.