你的分享就是我们的动力 ---﹥

sql如何做到查询时同时更新数据

sql怎么做到查询时同时更新数据?
思考了一天,新手过来求救了。。。。
大致的需求:从表A中查找前100条 type=0的数据,并将查询到的数据的type修改为1
存储过程是一定的,但select的数据结果怎么保存?只能用临时表吗?

------解决思路----------------------
只需要更新前的
SELECT TOP(100) * FROM a WHERE type = 0
UPDATE TOP(100) a SET type = 1  WHERE type = 0

否则UPDATE (Transact-SQL)有例子,还可以用表变量
USE AdventureWorks2012;
GO
DECLARE @MyTableVar table (
    SummaryBefore nvarchar(max),
    SummaryAfter nvarchar(max));
UPDATE Production.Document
SET DocumentSummary .WRITE (N'features',28,10)
OUTPUT deleted.DocumentSummary, 
       inserted.DocumentSummary 
    INTO @MyTableVar
WHERE Title = N'Front Reflector Bracket Installation';
SELECT SummaryBefore, SummaryAfter 
FROM @MyTableVar;
GO

------解决思路----------------------
结合OUTPUT 就可以达到很多效果了

只是不明白你确切的意思
------解决思路----------------------
没看明白你什么意思 查询出来不就是为了更新吗? 直接UPDATE 后面加WHERE不就完了?