Sql Server 中的 @@ERROR
2016-06-08 08:59
309 查看
@@ERROR:当前一个语句遇到错误,则返回错误号,否则返回0。需要注意的是@ERROR在每一条语句执行后会被立刻重置,因此应该在要验证的语句执行后检查数值或者是将它保存到局部变量中以备将来使用。
分析:上面的SQL语句出现除0的错误,抛出错误信息,所以在执行除0语句后的@@Error数值是8134,但是在执行第一个Print @Error语句输出错误信息之后,注意,此时@@Error的数据立即变成了0!,这一点非常重要,因为@@Error在每一条语句执行后立刻被重置!同样的道理,执行IF @@ERROR = 0语句后@@ERROR的数值仍然是0,因为这句话也没有发生错误!
DECLARE @num INT,@temp INT DECLARE @err INT SELECT @temp=0; SET @err=0 SET @num =2/@temp; --执行后@@ERROR为8134 PRINT @@ERROR --执行后@@ERROR为0 IF @@ERROR = 0 BEGIN PRINT @@ERROR END
分析:上面的SQL语句出现除0的错误,抛出错误信息,所以在执行除0语句后的@@Error数值是8134,但是在执行第一个Print @Error语句输出错误信息之后,注意,此时@@Error的数据立即变成了0!,这一点非常重要,因为@@Error在每一条语句执行后立刻被重置!同样的道理,执行IF @@ERROR = 0语句后@@ERROR的数值仍然是0,因为这句话也没有发生错误!
相关文章推荐
- sqlite查询数据库去除重复记录
- mysql相关问题
- 一个非常标准的Java连接Oracle数据库的示例代码
- oracle存储过程---获取数据库中到指定经纬度距离的坐标
- Oracle 建表
- mysql建立部分索引
- SQL获取本周、本月、本季度的记录的语句
- MemSQL 取代 HDFS 与 Spark 结合,性能大幅提升
- Mysql有关存储过程与触发器详解:
- MySQL数据库事务隔离级别(Transaction Isolation Level)-详细实例!
- Sqlserver查询数据库文件大小和剩余空间
- 数据库2
- MySQL创建数据库
- oracle
- mysql root密码重置
- AAA在windows上部署Redis系统服务
- SQL语句实现表中字段的组合累加排序
- SQL中查找某几个字段完全一样的数据
- SQL语句之Union和Union All的用法
- SQL查询排名函数实例