我有一行:
Update <Table> Set <Value> = @NewValue Where RecordID = @RecordID;
但是,现在我发现自己需要用该值的更改来更新另一个表。显然,我可以做一个单独的查询来获取原件,或者可以在最初阅读时保存原件。最好的答案是以某种方式返回它。
(RecordID是唯一的,不会返回多个值。)
答案 0 :(得分:0)
您可以在一个查询中更新两个表
UPDATE t1
CROSS JOIN t2
SET t2.<value> = t1.<value>,
t1.<value> = @NewValue
WHERE t1.RecordID = @RecordID1
AND t2.RecordID = @RecordID2
如果两个表的行相关,则使用INNER JOIN
代替CROSS JOIN
,并在其中放置t2
条件。