SQL Server研习录(23)——RAISERROR()函数

SQL Server研习录(23)——RAISERROR函数

    • 版权声明
      • 一、RAISERROR()函数
        • 1、基本语法


版权声明

  • 本文原创作者:清风不渡
  • 博客地址:https://blog.csdn.net/WXKKang

一、RAISERROR()函数

  概念:生成错误消息并启动会话的错误处理。RAISERROR可以引用sys.message目录视图中存储的用户定义消息,也可以动态建立消息。该消息作为服务器错误的消息返回到调用应用程序,或返回到TRY…CATCH构造的关联CATCH块。新应用程序应改用THROW

1、基本语法

  基本语法如下:

-- Syntax for SQL Server and Azure SQL Database(SQL Server和Azure SQL数据库的语法 ) 
RAISERROR ( { msg_id | msg_str | @local_variable }  { ,severity ,state }  [ ,argument [ ,...n ] ] )  [ WITH option [ ,...n ] ]-- Syntax for Azure SQL Data Warehouse and Parallel Data Warehouse(用于Azure SQL数据仓库和并行数据仓库的语法)
RAISERROR ( { msg_str | @local_variable }  { ,severity ,state }  [ ,argument [ ,...n ] ] )  [ WITH option [ ,...n ] ]

  注释:
  (1)参数
  参数msg_id: 使用sp_addmessage存储在sys.message目录视图中的用户定义错误消息号。用户定义的错误消息的错误号应大于50000。若未指定msg_id,RAISERROR会引发一个错误号为50000的错误消息
  参数msg_str: 用户定义的消息,格式与C标准库中的printf函数类似。该错误消息最长可以有2047个字节。如果该消息包含的字符数等于或者超过2048个,则只能显示前2044个并添加一个省略号以表示该消息已被截断。请注意,由于内部存储行为的缘故,代替参数使用的字符数比输出所显示的字符要更多。例如,赋值为2的代言参数%d实际在消息字符串中生成一个字符,但是还会在内部占用另外三个存储字符。此存储要求减少了可用于消息输出的字符数
  若指定了msg_str,RAISERROR会引发一个错误号为50000的错误消息
  msg_str是一个字符串,具有可选的嵌入转换规格。每个转换规格都会定义参数列表中的值如何格式化并将其置于msg_str中转换规格位置上的字段中,转换规格的格式如下:

% [[flag] [width] [. precision] [{h | l}]] type

  可在msg_str中使用的参数包括:
  flag
  用于确定被替换值的间距和对齐的代码:
在这里插入图片描述
  width
  定义放置参数值的字段的最小宽度的整数。 如果参数值的长度等于或大于 width,则打印该值,无需进行填充。 如果该值小于 width,则将该值填充到 width 中指定的长度
  星号 (*) 表示宽度由参数列表中的相关参数指定,该宽度必须为整数值
  精度
  从字符串值的参数值中得到的最大字符数。 例如,如果一个字符串具有五个字符并且精度为 3,则只使用字符串值的前三个字符
  对于整数值,precision 是指打印的最小位数
  星号 (*) 表示精度由参数列表中的相关参数指定,该精度必须为整数值
  {h | l} type
  与字符类型 d、i、o、s、x、X 或 u 一起使用,用于创建 shortint (h) 值或 longint (l) 值,字符类型解释如下:
在这里插入图片描述
  参数local_variable@: 是一个可以为任何有效字符数据类型的变量,其中包含的字符串的格式化方式与 msg_str 相同 。 @local_variable 必须为 char 或 varchar,或者能够隐式转换为这些数据类型
  参数severity: 用户定义的与该消息关联的严重级别。 使用 msg_id 引发使用 sp_addmessage 创建的用户定义消息时,RAISERROR 上指定的严重性会替代 sp_addmessage 中指定的严重性
  注意:任何用户都可以指定 0 到 18 之间的严重级别。 只有 sysadmin 固定服务器角色成员或具有 ALTER TRACE 权限的用户才能指定 19 到 25 之间的严重级别。 若要使用 19 到 25 之间的严重级别,必须选择 WITH LOG 选项。 将小于 0 的严重级别解释为 0。 将大于 25 的严重级别解释为 25,20 到 25 之间的严重级别被认为是致命的。 如果遇到致命的严重级别,客户端连接将在收到消息后终止,并将错误记录到错误日志和应用程序日志
  参数State: 0 到 255 之间的整数。 负值默认为 1。 不应使用大于 255 的值,如果在多个位置引发相同的用户定义错误,则针对每个位置使用唯一的状态号有助于找到引发错误的代码段
  参数argument: 用于代替 msg_str 或对应于 msg_id 的消息中定义的变量的参数。 可以有 0 个或更多个替换参数,但替换参数的总数不能超过 20。 每个替换参数可以是本地变量或下列任何数据类型:tinyint、smallint、int、char、varchar、nchar、nvarchar、binary 或 varbinary。,不支持其他数据类型
  参数option: 错误的自定义选项,可以是下表中的任一值:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/350759.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

python 创建Django项目基础

一. 安装Django pip install django 默认安装最新版本二. 创建一个Django项目 三、运行项目 创建好Django项目后,我们就可以运行了 使用命令 python manage.py runserver四、目录结构 五、创建一个文件views用来存放方法 在创建的文件中写入以下方法 def sa…

[5]PCB设计实验|卷积神经网络基础|零基础入门深度学习(4) 卷积神经网络|14:00~14:55

资料来源:零基础入门深度学习(4) - 卷积神经网络 - 作业部落 Cmd Markdown 编辑阅读器 目录 1. Relu激活函数 2. 全连接网络VS卷积网络 3. 卷积神经网络 3.1 网络架构 3.2 三维的层结构 4. 卷积神经网络输出值的计算 5. Pooling层输出值的计算 6. 全连…

WebGIS学习-01-GIS基础概念与Mapbox基础

1.地图数据来源 1.栅格数据: -.jpg,.png等图片数据; -卫星等拍摄的影像;.tiff 2.矢量数据: -geojson的数据,多用于绘制边界 -放大缩小都不会失真,且高度支持手绘 2.网页是如何渲染地图数据的 …

【Log】大三的最后一个项目,所以我到底是不是恋爱脑?

文章目录 梦开始的地方核心功能恋爱相册(LoveAlbum)恋爱日志(LoveLogs)爱情邮局(LovePostOffice)时间线(TimeLine)待办列表(LoveList) 技术栈 梦开始的地方 …

Web端3D模型轻量化工具如何实现建筑行业“数字化”建设?

随着数字化技术的飞速发展,建筑行业也在不断寻找新的技术手段来提供高产能和建筑质量。其中,Web端3D模型轻量化工具HOOPS Communicator SDK在建筑行业中的应用不断地得到了市场的广泛注意和应用。本文将深入探讨HOOPS Communicator在建筑行业中的应用及其…

初心不改凌云志 热血浇灌信仰花 《凭栏一片风云起》湖北卫视热力开播

浮光灼夏 御风而行, 由著名导演金琛执导, 胡一天、章若楠、王劲松 张晞临、张赫、林子璐领衔主演, 高伟光特邀出演的 年代战争剧《凭栏一片风云起》, 将于今晚19:30起, 登陆【湖北卫视】长江剧场。 电视剧《凭栏…

C++之stack容器

一、概念 概念: stack是一种先进后出(First In Last Out,FILO)的数据结构&#xff0c;它只有一个出口&#xff1b; 二、代码 #include <iostream> #include <stack>using namespace std;// 栈数据操作 概念: stack是一种先进后出(First In Last Out,FILO)的数据结…

SqlTransaction——事务详解

Posted on 2008-07-20 01:46 停留的风 http://www.cnblogs.com/yank/archive/2008/07/20/1246896.html 事务处理基本原理 事务是将一系列操作作为一个单元执行&#xff0c;要么成功&#xff0c;要么失败&#xff0c;回滚到最初状态。在事务处理术语中&#xff0c;…

sql server 2005 T-SQL BEGIN DISTRIBUTED TRANSACTION (Transact-SQL)

指定一个由 Microsoft 分布式事务处理协调器 (MS DTC) 管理的 Transact-SQL 分布式事务的起始。 Transact-SQL 语法约定 语法 BEGIN DISTRIBUTED { TRAN | TRANSACTION } [ transaction_name | tran_name_variable ] [ ; ] 参数 transaction_name 用户定义的事务名&#x…

编写Transact-SQL语句

适用于&#xff1a; SQL Server Azure SQL数据库Azure Synapse Analytics&#xff08;SQL DW&#xff09;并行数据仓库 欢迎使用《编写Transact-SQL语句》教程。本教程适用于刚编写SQL语句的用户。通过检查一些有关创建表和插入数据的基本语句&#xff0c;它将帮助新用户开始…

SQL transaction事物以及各种锁、waitfor、脏读、幻读

事务定义 数据库事务(Database Transaction)&#xff0c;是指作为单个逻辑工作单元执行的一系列操作&#xff0c;要么完全地执行&#xff0c;要么完全地不执行。 简单的说&#xff1a;事务就是将一堆的SQL语句(通常是增删改操作)绑定在一起执行&#xff0c;要么都执行成功&am…

SQL 之 事务(Transaction)

SQL 之 事务 一、什么是事务&#xff1f;二、事务的四大特性(ACID)1. 原子性(Atomicity)2. 一致性(Consistency)3. 隔离性(Isolation)4. 持久性(Durability) 三、并发事务带来的问题1. 脏读(Dirty read)2. 修改丢失(Lost to modify)3. 不可重复读(Unrepeatableread)4. 幻读(Pha…

004-从零搭建微服务-认证中心(四)

写在最前 如果这个项目让你有所收获&#xff0c;记得 Star 关注哦&#xff0c;这对我是非常不错的鼓励与支持。 源码地址&#xff1a;https://gitee.com/csps/mingyue 文档地址&#xff1a;https://gitee.com/csps/mingyue/wikis 搭建前端框架 感谢开源项目【vue-next-adm…

5年软件测试工程师工作感悟,谁还能“点点点”一辈子呢?

经常都有人问我软件测试前景怎么样&#xff0c;每年也都帮助很多朋友做职业分析和学习规划&#xff0c;也很欣慰能够通过自己的努力帮到一些人进入到大厂。 2023年软件测试行业的发展现状以及未来的前景趋势 最近很多测试人在找工作的时候&#xff0c;明显的会发现功能测试很…

【深入浅出 Spring Security(六)】一文搞懂密码的加密和比对

Spring Security 中的密码加密 一、PasswordEncoder 详解常见的实现类&#xff08;了解&#xff09;DelegatingPasswordEncoder源码分析DelegatingPasswordEncoder 在哪实例化的&#xff1f; 二、自定义加密自定义方式一&#xff1a;使用{id}的形式自定义方式二&#xff1a;向S…

花3个月面过阿里测开岗,拿个25K不过分吧?

计算机专业&#xff0c;代码能力一般&#xff0c;之前有过两段实习以及一个学校项目经历。第一份实习是大二暑期在深圳的一家互联网公司做前端开发&#xff0c;第二份实习由于大三暑假回国的时间比较短&#xff08;小于两个月&#xff09;&#xff0c;于是找的实习是在一家初创…

Excel集成GPT,惊呆我了

Excel&GPT 从最开始的GPT对话&#xff0c;到后面的Office集成GPT进行内测&#xff0c;用GPT实现写Word、做Excel、做PPT&#xff08;别着急&#xff0c;后面我会分享AIPPT&#xff09;已经不再是设想&#xff0c;而在逐步演变成真的&#xff01; 当然&#xff0c;目前国内…

impala内存超限

目录 一、背景 二、报错内容 三、解决办法 1.调参 2.简单粗暴 一、背景 impala shell执行SQL语句时报错 二、报错内容 Memory limit exceeded: Could not allocate memory while trying to increase reservation. 三、解决办法 1.调参 mem_limit参数&#xff1a;&…

2023,智能硬件的AIGC“又一春”

​ 文|智能相对论 作者|佘凯文 消费电子产品风光不再&#xff0c;特别是自去年以来&#xff0c;电子消费市场经历了一整年的寒潮袭击&#xff0c;智能手机等产品达到10年消费谷底&#xff0c;PC出货量整体下降16%&#xff0c;不仅如此&#xff0c;包括平板、可穿戴设备也一改…

Java读取U盘的PID、VID、SN

Java是不能像C、C那样直接读取U盘的PID、VID、SN信息的&#xff0c;但是我们可以换一个思路&#xff0c;让Java从注册表中读取信息。 这是U盘信息在注册表中的位置&#xff1a;HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\services\\USBSTOR\\Enum import java.io.Buffer…