zoukankan      html  css  js  c++  java
  • @@ROWCOUNT 含义

    返回受上一语句影响的行数。 如果行数大于 20 亿,请使用 ROWCOUNT_BIG

    Transact-SQL 语句可以通过下列方式设置 @@ROWCOUNT 的值:

    • 将 @@ROWCOUNT 设置为受影响或被读取的行的数目。 可以将行发送到客户端,也可以不发送。

    • 保留前一个语句执行中的 @@ROWCOUNT。

    • 将 @@ROWCOUNT 重置为 0 但不将该值返回到客户端。

    执行简单分配的语句始终将 @@ROWCOUNT 值设置为 1。 不将任何行发送到客户端。 这些语句的示例如下: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 <选项>、DEALLOCATE CURSOR、CLOSE CURSOR、BEGIN TRANSACTION 或 COMMIT TRANSACTION 等语句将 ROWCOUNT 值重置为 0。

    本机编译存储过程保留以前的 @@ROWCOUNT。 本机编译存储过程中的 Transact-SQL 语句不设置 @@ROWCOUNT。 有关详细信息,请参阅本机编译的存储过程简介

    示例
     

    以下示例执行 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
  • 相关阅读:
    mysql免安装版配置+navicat测试
    查询SQL Version详细信息
    拆分数据库测试之--收缩数据库
    测试拆分比较大SQL Server数据库
    SQL捕捉blocking信息
    T-SQL 重复读(Double Read)问题的理解
    Node.js版-七夕无事,人艰勿拆,求别说...
    css实现三角箭头(兼容IE6)
    前端开发的基础知识点摘要
    jQuery原理系列-常用Dom操作
  • 原文地址:https://www.cnblogs.com/haore147/p/3902944.html
Copyright © 2011-2022 走看看