德比不支持此語法:如何在Derby中模擬UPDATE x SET(col1,col2)=(SELECT a,b FROM y)?
UPDATE x SET (col1, col2, ...) = (SELECT a,b,... FROM y ...)
(見this bug)。有沒有人有一個解決方法,而不是創建一個循環在Java中選擇併發送N更新回來?
[編輯]請注意,我有50列和一個複雜的條件(加入x和EXISTS和whatnot)。所以我想避免重複選擇50次,請:))
德比不支持此語法:如何在Derby中模擬UPDATE x SET(col1,col2)=(SELECT a,b FROM y)?
UPDATE x SET (col1, col2, ...) = (SELECT a,b,... FROM y ...)
(見this bug)。有沒有人有一個解決方法,而不是創建一個循環在Java中選擇併發送N更新回來?
[編輯]請注意,我有50列和一個複雜的條件(加入x和EXISTS和whatnot)。所以我想避免重複選擇50次,請:))
我不知道這是有效的SQL(我更多的是一個MS SQL的傢伙,所以我可以離開)。
一般情況下我會怎麼做:
update Orders
set Orders.Code = OtherOrders.Code,
Orders.Name = OtherOrders.Name
from Orders inner join Orders as OtherOrders
on OtherOrders.OrderId = Orders.OrderId
我太會做的是rbobby西亞德但我也是一個人MSSQL。
你試過:
UPDATE x
SET (col1)= (SELECT a FROM y where y.fkfield = x.pkidfield),
(col21)= (SELECT b FROM y where y.fkfield = x.pkidfield),)
是,這裏的問題是,我有50列和複雜的SELECT – 2009-03-05 08:48:32
不幸的是,在UPDATE語句是不允許的:( – 2009-03-04 16:45:17