sql - 使用 t-SQL 选择已删除记录的数量

标签 sql sql-server sql-server-2008

我似乎不知道如何使用 SQL Server 2008 选择以前删除的记录数。是这样的吗?

DELETE FROM [table] WHERE [id]=10
SELECT SCOPE_IDENTITY()

最佳答案

使用SELECT @@ROWCOUNT紧接着 DELETE陈述。您可以read more about @@ROWCOUNT on MSDN :

@@ROWCOUNT

Returns the number of rows affected by the last statement.

Remarks

...

Data manipulation language (DML) statements set the @@ROWCOUNT value to the number of rows affected by the query and return that value to the client. The DML statements may not send any rows to the client.

请注意,我说“立即之后”,因为其他语句可以更改 @@ROWCOUNT 的值,即使它们本身不影响行:

DECLARE CURSOR and FETCH set the @@ROWCOUNT value to 1.

...

Statements such as USE, SET <option>, DEALLOCATE CURSOR, CLOSE CURSOR, BEGIN TRANSACTION or COMMIT TRANSACTION reset the ROWCOUNT value to 0.

关于sql - 使用 t-SQL 选择已删除记录的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14300671/

相关文章:

sql-server-2008 - 无法解决排序规则冲突

sql - SQL Server 的 .SQL 文件或变量的最大大小?

sql - 选择上一个 x 季度日期

sql - 根据当前日期和配置数据获取记录

sql - 编写 SQL 查询时遇到问题 多对多关系

php - 如何从 @curRank 获取排名位置

sql-server - SP_SEND_DBMAIL @QUERY 在电子邮件中插入换行符

sql - 仅通过月份名称获取月份编号

php和mysql命中计数器,只计数一次

php - MySQL 数据库中的数据未更新。有什么想法吗?