Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
582 views
in Technique[技术] by (71.8m points)

tsql - How to update multiple tables at the same time?

I'm trying to update fields from three different tables but I'm getting some errors:

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'

And the errors:

Msg 102, Level 15, State 1, Line 2
Incorrect syntax near ','.
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can't update fields from multiple tables on a single update query. There error you are getting is because this is not permitted:

update a, b, c

Since you can only update one table per update command.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...