SQL server 屏蔽除数为0错误

--屏蔽除数为0错误

SET ANSI_WARNINGS off

SET ARITHABORT off

SET ARITHIGNORE on

这些 T-SQL 语句控制 SQL Server 的行为,特别是在处理数据和错误时的行为。下面是每个设置的具体作用:

  1. SET NOCOUNT ON:

    • 作用 : 当执行 SQL 语句时,SQL Server 通常会在每条命令执行后返回一条消息,指示受影响的行数。SET NOCOUNT ON 会禁用这条消息,提高执行效率,尤其是在执行大量 SQL 语句时,避免了每次返回行计数信息的开销。
  2. SET ANSI_WARNINGS OFF:

    • 作用: 关闭 ANSI 标准警告。这意味着 SQL Server 不会报告某些类型的警告,比如除数为零的情况。默认情况下,如果开启 ANSI_WARNINGS,SQL Server 会发出警告,但不会中断执行。
  3. SET ARITHABORT OFF:

    • 作用: 关闭算术异常自动终止功能。这意味着如果发生算术异常(例如除数为零),SQL Server 不会立即终止执行批处理或事务。相反,它会将结果设置为 NULL 并继续执行。
  4. SET ARITHIGNORE ON:

    • 作用: 启用算术忽略模式。这意味着如果发生算术异常(如除数为零),SQL Server 不仅不会终止执行,还会忽略该异常,并将结果设置为 NULL。

总结来说,这些设置共同作用于以下方面:

  • 禁用了 SQL Server 在执行命令后返回影响行数的消息。
  • 关闭了 ANSI 标准警告,这意味着一些特定类型的警告将不再被报告。
  • 关闭了算术异常导致的自动终止功能,使得除数为零等异常不会中断执行。
  • 启用了算术忽略模式,使得除数为零等异常不仅不会中断执行,还会被忽略,结果会被设置为 NULL。
相关推荐
泡海椒8 分钟前
jquick-pdf 文本元素实战:段落、行内文本、制表符用法详解
java·开发语言·pdf
牢姐与蒯8 分钟前
Linux进程间通信(一).进程间通信概念&&环境切换(着重强调vscode)
linux·运维·服务器·ubuntu
摇滚侠8 分钟前
《Spring Boot 3:高级与架构设计》第 1 章 元编程与元信息 个人理解 1
java·spring boot·笔记·后端
吃饱了得干活12 分钟前
Java 单点登录实战:一条主线看懂 Session 共享、CAS 与 OAuth2+JWT
java·后端
xiaoqiMikko14 分钟前
Jetty 又出一条走私(CVE-2026-19203):官方叫升 9.4.64,而 9.4.64 在 Central 上是 404
java·安全
Web4Browser15 分钟前
浏览器指纹逆向到底在分析什么:从 JavaScript 采集、Canvas 与 WebGL 到环境一致性校验
java·服务器·前端
lqg_zone24 分钟前
CentOS 7 虚拟机磁盘 I/O 卡顿排查实录:从 iostat 异常到虚拟盘后端故障的完整定位
linux·服务器·mysql·centos
tedcloud12333 分钟前
emilkowalski/skills:让 AI 写出来的网页更有“设计感”
服务器·人工智能·开源·音视频·ai编程
AKA__Zas37 分钟前
跨网段主机的文件传输过程
java·网络·网络协议·学习方法
Shadow(⊙o⊙)38 分钟前
OTOL设计模式 One Thread One Loop
服务器·网络·设计模式