获取Sqlserver上一句语句执行后受影响的行数@@rowCount
from:http://blog.163.com/rihui_7/blog/static/212285143201381343240404/
返回受上一语句影响的行数。 ROWCOUNT_BIG." xmlspace="preserve" style="line-height: 22.75px;">如果行数大于 20 亿,请使用 ROWCOUNT_BIG。
@@ROWCOUNT
int
Transact-SQL 语句可以通过下列方式设置 @@ROWCOUNT 的值:
将 @@ROWCOUNT 设置为受影响或被读取的行的数目。 可以将行发送到客户端,也可以不发送。
保留前一个语句执行中的 @@ROWCOUNT。
将 @@ROWCOUNT 重置为 0 但不将该值返回到客户端。
执行简单分配的语句始终将 @@ROWCOUNT 值设置为 1。 不将任何行发送到客户端。 'Generic Text'." xmlspace="preserve" style="line-height: 22.75px;">这些语句的示例如下:SET @local_variable、RETURN、READTEXT 以及不带查询的 Select 语句,如 SELECT GETDATE() 或 SELECT 'Generic Text'。
在查询中进行分配或使用 RETURN 的语句将 @@ROWCOUNT 值设置为受查询影响的行数或查询读取的行数,例如:SELECT @local_variable = c1 FROM t1。
数据操作语言 (DML) 语句将 @@ROWCOUNT 值设置为受查询影响的行数,并将该值返回到客户端。 DML 语句不会将任何行发送到客户端。
DECLARE CURSOR 和 FETCH 将 @@ROWCOUNT 值设置为 1。
EXECUTE 语句保留前一个 @@ROWCOUNT。
USE、SET <option>、DEALLOCATE CURSOR、CLOSE CURSOR、BEGIN TRANSACTION 或 COMMIT TRANSACTION 等语句将 ROWCOUNT 值重置为 0。
以下示例执行 UPDATE 语句并使用 @@ROWCOUNT 来检测是否更改了任何一些行。
USE AdventureWorks2012; GO UPDATE HumanResources.Employee SET JobTitle = N'Executive' WHERE NationalIDNumber = 123456789 IF @@ROWCOUNT = 0 PRINT 'Warning: No rows were updated'; GO
返回上一语句受影响的行数!和@ERROR一样的特性,在每一条语句执行后都将被重置,如果将来使用需要将变量保存到局部变量中。任何不返回的语句都将这个变量置为0!比如经常使用的IF语句。废话少说,上代码!DECLARE @RowCountVar INTUpdate AF_CarOil SET OilType = '五号汽油'--执行后@@ROWCOUNT为2SET @RowCountVar = @@ROWCOUNT --执行后@@ROWCOUNT为1IF @@ROWCOUNT = 1 --执行后@@ROWCOUNT为0BEGINPRINT '影响的行数为1'PRINT @@ROWCOUNTENDIF @RowCountVar <> 0BEGINPRINT '受影响的行数为:' + STR(@RowCountVar)END-----------------------------------------------------------------(2 行受影响)影响的行数为 10受影响的行数为: 2分析:上面的代码中在执行Update语句之后,受影响的行数为2行,然后将受影响的行数保存到事先声明的局部变量中,赋值语句实际上影响的行数为1行,在下面的IF语句中进行了跳转,这个地方是关键,这并不是Update语句受影响的行数是1,而是将@@ROWCOUNT将的赋给局部变量的过程中变成了1。在执行后IF @@ROWCOUNT = 1的判断之后@@ROWCOUNT的数值重新被赋值为了0!
获取Sqlserver上一句语句执行后受影响的行数@@rowCount的更多相关文章
- SQL 语句执行后同步返回结果条数
PgSQL SELECT COUNT(*) OVER() AS res_count FROM table WHERE ... MySQL mysql> SELECT SQL_CALC_FOUND ...
- EF5中 执行 sql语句使用Database.ExecuteSqlCommand 返回影响的行数 ; EF5执行sql查询语句 Database.SqlQuery 带返回值
一: 执行sql语句,返回受影响的行数 在mysql里面,如果没有影响,那么返回行数为 -1 ,sqlserver 里面 还没有测试过 using (var ctx = new MyDbConte ...
- php mysql_affected_rows获取sql执行影响的行数
php mysql_affected_rows函数用于获取执行某一SQL语句(如INSERT,UPDATE 或 DELETE )所影响的行数,本文章向大家介绍php mysql_affected_ro ...
- mysql 存储过程:提供查询语句并返回查询执行影响的行数
mysql 存储过程:提供查询语句并返回查询执行影响的行数DELIMITER $$ DROP PROCEDURE IF EXISTS `p_get_select_row_number`$$ CREAT ...
- C#中如何获取一个二维数组的两维长度,即行数和列数?以及多维数组各个维度的长度?
如何获取二维数组中的元素个数呢? int[,] array = new int[,] {{1,2,3},{4,5,6},{7,8,9}};//定义一个3行3列的二维数组int row = array. ...
- 【oracle】存储过程中获取delete语句执行后删除的记录数
dbms_output.put_line(to_char(sql%rowcount));
- C#获取当前运行的源代码的文件名和当前源代码的行数的方法
在C#中记录日志时,为了以后查找错误或者跟踪的方便,最好能记录下出错的源代码的文件名和出错的源代码的行数. 这2个方法如下: /// <summary> /// 取得当前源 ...
- sql server ExecuteNonQuery()返回受影响行数不适用select语句
SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数. 对于 UPDATE.INSERT 和 DELETE 语句,返回值为该命令所影响 ...
- SqlServer性能优化 Sql语句优化(十四)
一:在较小的结果集上上操作 1.仅返回需要的列 2.分页获取数据 EF实现分页: public object getcp(int skiprows,int currentpagerows) { HRU ...
随机推荐
- zookeeper集群迁移方案
后来问同事是怎么做的迁移:先启动一套新的集群,然后关闭老的集群,同时在老集群的一个IP:2181起了一个haproxy代理新集群以为这样,可以做到透明迁移=.=,其实是触发了ZK的bug-832导致不 ...
- [math][mathematica] mathematica入门
快速入门手册: 只找到了个中文的快速入门: https://www.wolfram.com/language/fast-introduction-for-programmers/zh/?source= ...
- [developmemt][dpdk] dpdk优化(转)
转发:https://software.intel.com/en-us/articles/dpdk-performance-optimization-guidelines-white-paper 转发 ...
- c++中new的三种用法详细解析
转载至: http://www.jb51.net/article/41524.htm 以下的是对c++中new的三种使用方法进行了详细的分析介绍,需要的朋友可以过来参考下,希望对大家有所帮助. 一. ...
- 【LBS】基于地理位置的搜索之微信 附近的人 简单实现
缘由 本周技术群有一个同学说我们该怎么实现 由近到远的基于地理位置的搜索,我创业做电商的系统做过类似这样的服务,我把我们以前的操作给大家分享下 什么是LBS LBS 全称是 Location Bas ...
- LeetCode 136 Single Number 解题报告
题目要求 Given a non-empty array of integers, every element appears twice except for one. Find that sing ...
- vivado SDK之找不到"platform.h"
解决方法:建工程的时候不要选择empty application,而是选择hello world,里面会自动包含platform.c,platform.h等. 另外,常用的xgpio.h头文件有时候 ...
- 【数据库】left join(左关联)、right join(右关联)、inner join(自关联)的区别
left join(左关联).right join(右关联).inner join(自关联)的区别 用一张图说明三者的区别: 总结: left join(左联接) 返回包括左表中的所有记录和右表中关联 ...
- SQL数据库中临时表、临时变量和WITH AS关键词创建“临时表”的区别
原文链接:https://www.cnblogs.com/zhaowei303/articles/4204805.html SQL数据库中数据处理时,有时候需要建立临时表,将查询后的结果集放到临时表中 ...
- mysql 数据操作 目录
mysql 记录的增删改查 mysql 数据操作 单表查询 mysql 数据操作 多表查询