博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
@@ERROR和@@ROWCOUNT的用法
阅读量:5131 次
发布时间:2019-06-13

本文共 1328 字,大约阅读时间需要 4 分钟。

 

1.         @ERROR

 

当前一个语句遇到错误,则返回错误号,否则返回0。需要注意的是@ERROR在每一条语句执行后会被立刻重置,因此应该在要验证的语句执行后检查数值或者是将它保存到局部变量中以备将来使用。具体的分析请看下面的代码,一目了然。

  update BL_Consumer set mobile='432142342342342342342342342342342342'  where uid=1335
PRINT getdate() --执行后@@ERROR为0
PRINT @@ERROR
IF @@ERROR = 0
BEGIN
    PRINT @@ERROR
END

-----------------------------------------------------------------

消息 8152,级别 16,状态 14,第 3 行
将截断字符串或二进制数据。
语句已终止。
12  9 2015  3:33PM
0
0

分析:上面的更新SQL语句导致字符串或二进制数据,抛出错误信息,所以在执行Update语句后的 @@Error数值是8152,但是在执行第一个Print @Error语句输出错误信息之后,注意,此时@@Error的数据立即变成了0!,这一点非常重要,因为@@Error在每一条语句执行后立刻被重置! 同样的道理,执行IF @@ERROR = 0语句后@@ERROR的数值仍然是0,因为这句话也没有发生错误!

2.         @@ROWCOUNT

 

返回上一语句受影响的行数!和@ERROR一样的特性,在每一条语句执行后都将被重置,如果将来使用需要将变量保存到局部变量中。任何不返回的语句都将这个变量置为0!比如经常使用的IF语句。废话少说,上代码!

update BL_Consumer set mobile='朱晓'  where uid=1335
PRINT getdate() --执行后@@ROWCOUNT
PRINT @@ROWCOUNT
IF @@ROWCOUNT = 0
BEGIN
    PRINT @@ROWCOUNT
END

-----------------------------------------------------------------

 

(2 行受影响)

影响的行数为 1

0

受影响的行数为:        2

    分析:上面的代码中在执行Update语句之后,受影响的行数为2行,然后将受影响的行数保存到事先声明的局部变量中,赋值语句实际上影响的行数为1行, 在下面的IF语句中进行了跳转,这个地方是关键,这并不是Update语句受影响的行数是1,而是将@@ROWCOUNT将的赋给局部变量的过程中变成了 1。在执行后IF @@ROWCOUNT = 1的判断之后@@ROWCOUNT的数值重新被赋值为了0!

    总结:@@ROWCOUNT和@@ERROR变量的值,在执行完一条语句后总是会发生变化,所以我们将他们作为判断的依据的时候应该首先保存在局部变量中。他们反映的都是紧接着的上一条语句对他们的影响!

转载于:https://www.cnblogs.com/andy105090/p/5033040.html

你可能感兴趣的文章
CentOS 命令随笔
查看>>
python周报第十二周
查看>>
Spring in Action(一) Core Spring:Spring into Action(2)
查看>>
ElasticSearch
查看>>
HDU 2066 一个人的旅行 最短路问题
查看>>
HDU 1029 Ignatius and the Princess IV
查看>>
div + css 让img标签图片在div中等比缩放显示
查看>>
在vector的循环中调用erase
查看>>
Selenium定位iframe动态ID
查看>>
「ZJOI2016」旅行者 解题报告
查看>>
洛谷 P3155 [CQOI2009]叶子的染色 解题报告
查看>>
基础知识
查看>>
POJ 2777 Count Color (线段树成段更新+二进制思维)
查看>>
eclipse安装genymotion的奇葩问题
查看>>
【数位DP】
查看>>
Chrome 插件——二维码生成笔记
查看>>
android深度探索第三章
查看>>
html5 Canvas画图3:1像素线条模糊问题
查看>>
仙剑4CPK加密解密算法(转)
查看>>
IE6 js修改img的src属性问题
查看>>