2010-07-19 123 views
0

我有一个联系我们表包含名称emailid phoneno消息repliedmessage作为字段,默认情况下回复的消息字段为空后答复一个特定的消息我正在更新该字段,但在同一时间我也想要使用select语句检索其他值,如名称和emailid选择并更新单个查询

+0

我没有理解你的意思。你想更新一个或多个记录,然后*显示一些其他记录? – frabiacca 2010-07-19 10:45:36

+0

你说得对吗任何方式我得到了答案,并感谢您的回应 – Mac 2010-07-19 11:08:46

回答

1

你是说你正在更新多行还是只有一行?

如果要更新多个行,可以将受影响的行ID选择到临时表中,执行更新,然后在更新的表上返回tmp表ID的连接。

如果您要更新单个行,请在更新后对该行执行一次选择。

可维护性在同一时间尝试两个操作是有害的,除非情况的逻辑在稍后表明它是必需的。

您可以在表格上始终拥有一个简单的LastUpdated DATETIME字段。然后,您只需要一个您设置为getdate()并在更新期间使用的变量。更新后,只需返回LastUpdated与datetime变量匹配的每一行。

如:

declare @opTime datetime 
set @opTime = getdate() 

update .... (...., LastUpdated) values (....., @opTime) 

select * from ... where LastUpdated = @opTime