我想從三個不同的表更新字段,但我得到了一些錯誤:如何同時更新多個表?
UPDATE
a, b, c
SET
a.Locked = 0,
b.Locked = 0,
c.Locked = 0,
a.LockedByUsername = 'zolomon',
b.LockedByUsername = 'zolomon',
c.LockedByUsername = 'zolomon',
a.LockedAt = CURRENT_TIMESTAMP,
b.LockedAt = CURRENT_TIMESTAMP,
c.LockedAt = CURRENT_TIMESTAMP
FROM
TableA AS a
INNER JOIN TableB as b ON n.Objid = o.Objid
INNER JOIN TableC as c ON n.Namnid = e.Namnid
WHERE
a.Namn1 = 'FirstName LastName' AND b.objektkod='SomeIdentifier'
而且錯誤:
Msg 102, Level 15, State 1, Line 2
Incorrect syntax near ','.
所以,我要創建一個事務,並執行三個不同的表(它們都包含指定字段/列),而不是相同的更新? – Zolomon 2011-03-01 12:45:20
是的,你可以做到這一點,或作爲其他答案中提出的'dnl',你可以將你的更新封裝在存儲過程中。 – 2011-03-01 12:46:38
根據我的建議,你可以在視圖中加入表格並更新視圖... – FarligOpptreden 2011-03-01 12:46:58