思考了一天,新手过来求救了。。。。
大致的需求:从表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不就完了?