我似乎无法弄清楚如何使用SQL Server 2008选择以前删除的记录数。这是吗?
DELETE FROM [table] WHERE [id]=10 SELECT SCOPE_IDENTITY()
声明SELECT @@ROWCOUNT后立即使用DELETE。您可以在MSDN上阅读有关的更多信息@@ROWCOUNT:
SELECT @@ROWCOUNT
DELETE
@@ROWCOUNT
@@ROWCOUNT 返回受最后一条语句影响的行数。 评论 … 数据操作语言(DML)语句将@@ROWCOUNT值设置为受查询影响的行数,并将该值返回给客户端。DML语句可能不会向客户端发送任何行。
返回受最后一条语句影响的行数。
…
数据操作语言(DML)语句将@@ROWCOUNT值设置为受查询影响的行数,并将该值返回给客户端。DML语句可能不会向客户端发送任何行。
请注意,我之所以说“紧随其后”是因为其他语句本身可以更改的值@@ROWCOUNT,即使它们本身不影响行也是如此:
DECLARE CURSOR并将值FETCH设置@@ROWCOUNT为1。 … 语句,例如USE,SET <option>,DEALLOCATE CURSOR,CLOSE CURSOR,BEGIN TRANSACTION或COMMIT TRANSACTION的重置ROWCOUNT值为0。
DECLARE CURSOR并将值FETCH设置@@ROWCOUNT为1。
DECLARE CURSOR
FETCH
语句,例如USE,SET <option>,DEALLOCATE CURSOR,CLOSE CURSOR,BEGIN TRANSACTION或COMMIT TRANSACTION的重置ROWCOUNT值为0。
USE
SET <option>
DEALLOCATE CURSOR
CLOSE CURSOR
BEGIN TRANSACTION
COMMIT TRANSACTION
ROWCOUNT