sql语句影响的行数

全局变量@@RowCount 和函数RowCount_Big()用于返回上一条语句影响的行数。如果行数大于 20 亿,则需要使用ROWCOUNT_BIG()。

1,ROWCOUNT_BIG():

Following a SELECT statement, this function returns the number of rows returned by the SELECT statement.

Following an INSERT, UPDATE, or DELETE statement, this function returns the number of rows affected by the data modification statement.

Following statements that do not return rows, such as an IF statement, this function returns 0.

2, set RowCount @Num

设置sql语句影响的行数,ROWCOUNT的设置是和Session有关的。一个Session将使用最近一次设置的ROWCOUNT,直到Session结束或修改了ROWCOUNT。

SET ROWCOUNT 0

取消ROWCOUNT限制。

3, sample codes

SET ROWCOUNT 0
-- return 10 records
select * from dbo.test

--return value is 10
select @@ROWCOUNT

--return value is 1
select ROWCOUNT_BIG()

--alternate solution
declare @n int
set @n=10
时间: 2024-08-10 16:52:32

sql语句影响的行数的相关文章

SQL Server返回插入数据的ID和受影响的行数

首先看看数据库里面的数据(S_Id为自增长标识列): sql server 中返回上一次插入数据的ID(标识值)有三种方式: 第一种 @@IDENTITY: 1 insert into Student(S_StuNo,S_Name,S_Sex,S_Height) 2 values('013','卫庄','男','185'); 3 4 select @@IDENTITY -- 返回 17 @@IDENTITY可以返回当前连接所有范围内插入最后所生成的标识值(包括任何调用的存储过程和触发器).这个函

EF5中 执行 sql语句使用Database.ExecuteSqlCommand 返回影响的行数 ; EF5执行sql查询语句 Database.SqlQuery 带返回值

一: 执行sql语句,返回受影响的行数 在mysql里面,如果没有影响,那么返回行数为  -1 ,sqlserver 里面  还没有测试过 using (var ctx = new MyDbContext()) { ctx.Database.ExecuteSqlCommand("UPDATE Person SET Name = 'Michael' WHERE PersonID = 1"); } 二 : Database.SqlQuery<T>   EF5执行sql查询语句

mysql 存储过程:提供查询语句并返回查询执行影响的行数

mysql 存储过程:提供查询语句并返回查询执行影响的行数DELIMITER $$ DROP PROCEDURE IF EXISTS `p_get_select_row_number`$$ CREATE PROCEDURE `test_cases`.`p_get_select_row_number`(IN p_select_sql VARCHAR(200), OUT p_count INT(8) ) BEGIN -- 声明 DECLARE cnt INT DEFAULT 0; DECLARE s

SQLCommand.ExecutenonQuery受影响的行数为什么会是-1?

一般我们在执行SQL语句的时候会调用ExecuteNonQuery();然后用一个声明一个int值接受这个受影响的行数,通过判断这个int值,我们可以得知这条SQL语句是否已经执行.通常我们判断就是这个int值大于0,因为我们知道,最起码受影响的行数是1,我们判断大于0就OK了,但是在运行时我们发现我们判断的语句的值为false,为什么呢?最后查了一下MSDN文档,看完解释就明白了. 对于 UPDATE.INSERT 和 DELETE 语句,返回值为该命令所影响的行数.对于所有其他类型的语句,返

.net 更新access数据库 影响的行数为0

在更新Access数据库的时候,明明传入的数据及参数类型都正确,但是一直更新不了,查看影响的行数一直为0 此原因为 C#操作Access数据库的时候更新的参数和条件参数要按照更新语句中的顺序进行设置,如果设置不正确,则会出现以上问题 1 update TPersonnel 2 set pname=@pname, 3 shenfhm=@shenfhm, 4 sex=@sex, 5 phone=@phone, 6 weixing=@weixing, 7 pid=@pid, 8 email=@emai

oracle 与sql serve 获取随机行数的数据

Oracle 随机获取N条数据    当我们获取数据时,可能会有这样的需求,即每次从表中获取数据时,是随机获取一定的记录,而不是每次都获取一样的数据,这时我们可以采取Oracle内部一些函数,来达到这样的目的1) select * from (select * from tablename order by sys_guid()) where rownum < N; 2) select * from (select * from tablename order by dbms_random.va

PostgreSQL获取操作影响的行数

如何来获取普通的操作所影响的行数,PostgreSQL里面有一个内置的变量DIAGNOSTICS与ROW_COUNT可以做到这一点. 一.环境: DB:9.4beta3 二.准备: postgres=# create table test(id int); CREATE TABLE postgres=# insert into test select generate_series(1,20); INSERT 0 20 postgres=# select * from test; id ----

MySQL 元数据:获取查询语句影响的记录数

MySQL 元数据 你可能想知道MySQL以下三种信息: 查询结果信息: SELECT, UPDATE 或 DELETE语句影响的记录数. 数据库和数据表的信息: 包含了数据库及数据表的结构信息. MySQL服务器信息: 包含了数据库服务器的当前状态,版本号等. 在MySQL的命令提示符中,我们可以很容易的获取以上服务器信息. 但如果使用Perl或PHP等脚本语言,你就需要调用特定的接口函数来获取. 接下来我们会详细介绍. 获取查询语句影响的记录数 PERL 实例 在 DBI 脚本中, 语句影响

MS SQL查询所有表行数,获取所有数据库名,表名,字段名

1.获取所有数据库名 --SELECT Name FROM Master..SysDatabases ORDER BY Name -- 2.获取所有表名: --SELECT Name NAMEtemp,* FROM TEST..SysObjects Where XType='U' ORDER BY Name --表名  ----XType='U':表示所有用户表; ----XType='S':表示所有系统表; 3.获取所有字段名: SELECT Name FROM SysColumns WHER