RAISERROR

RAISERROR

可以抛出一个错误,并被程序捕获,在存储过程经常使用;

是否进入Catch代码执行区域,在于错误严重等级设置

RAISERROR (‘无效数据‘, 11 , 1)

  第一个参数:自定义的错误提示

第二个参数:消息关联的严重级别, 0 到 18 之间的

               [0,10]  ,不执行Catch代码块,也就是不打断执行顺序

[11,19],   跳到Catch代码块,终断执行

        [20,无穷),直接终止数据库连接;

第三个个参数:1 至 127 之间的任意整数,可以用来找到错误的代码段

第四个参数:略

第五个参数:略

时间: 2024-10-31 20:59:21

RAISERROR的相关文章

SQL Server ->> THROW字句对比RAISERROR字句

SQL Server 2012开始引入了THROW字句用于替代从SQL Server开始沿用至今的RAISERROR.既然作用相同,都是在TRY... CATCH代码块后不抓错误然后抛出错误,它们之间的差异是什么? RAISERROR statement THROW statement If a msg_id is passed to RAISERROR, the ID must be defined in sys.messages. The error_number parameter doe

sql server数据库中raiserror函数的用法

server数据库中raiserror的作用就和asp.NET中的throw new Exception一样,用于抛出一个异常或错误.这个错误可以被程序捕捉到. raiserror的常用格式如下:raiserror('错误的描述',错误的严重级别代码,错误的标识,错误的描述中的参数的值(这个可以是多个),一些其它参数),在官方上的格式描述如下: RAISERROR ( { msg_id | msg_str | @local_variable } { ,severity ,state } [ ,a

Tran 与 Goto try catch raiserror等浅显应用

---- Tran 事务 以及 Goto 的浅显应用 IF OBJECT_ID('tempdb..#tmptab','U') IS NOT NULL DROP TABLE #tmptab GO CREATE TABLE #tmptab (id int IDENTITY(1,1),name VARCHAR(10),bankMoney MONEY) GO INSERT INTO #tmptab(name,bankMoney) SELECT 'Jack',100 UNION SELECT 'Frank

SQL Server 中 RAISERROR 的用法(转)

在存储过程中进程会处理一些逻辑性的错误,如:将RMB转换为USD时,没有查询到想要的汇率 这个时候最好在存储过程中抛个异常,方便自己查找错误信息... 其语法如下: RAISERROR ( { msg_id | msg_str | @local_variable }                    { ,severity ,state }                    [ ,argument [ ,...n ] ]           )          [ WITH optio

RAISERROR语句

生成错误消息.RAISERROR 可以引用 sys.messages 目录视图中存储的用户定义消息,也可以动态建立消息.该消息作为服务器错误消息返回到调用应用程序,或返回到 TRY…CATCH 构造的关联 CATCH 块. RAISERROR ( { msg_id | msg_str | @local_variable } { ,severity ,state } [ ,argument [ ,...n ] ] ) [ WITH option [ ,...n ] ] msg_id 使用 sp_a

SQL Server 中 RAISERROR 的用法

raiserror  是由单词 raise error 组成     raise  增加; 提高; 提升 raiserror 的作用: raiserror 是用于抛出一个错误.[ 以下资料来源于sql server 2005的帮助 ] 其语法如下: RAISERROR ( { msg_id | msg_str | @local_variable } { ,severity ,state } [ ,argument [ ,...n ] ] ) [ WITH option [ ,...n ] ] 简

SQL Server2012中的Throw语句尝试 RAISERROR和THROW比较

SQL SERVER2012实现了类似C#抛出异常的Throw语句.相比较于SQL Server2005之前使用@@ERROR,和SQL Server2005之后使用RAISERROR()引发异常都是一个不小的进步. 1.SQL Server2005/2008中,使用RAISERROR和TRY…CATCH语句来抛出异常相比较根据@@ERROR进行判断来讲已经进步了很多.但是使用RAISERROR有一个非常不好的一点是无法返回真正出错的行数. --使用RAISERROR返回错误行数不正确begin

RAISERROR 的用法(转)

raiserror 的作用: raiserror 是用于抛出一个错误.[ 以下资料来源于sql server 2005的帮助 ] 其语法如下: RAISERROR ( { msg_id | msg_str | @local_variable }                    { ,severity ,state }                    [ ,argument [ ,...n ] ]           )          [ WITH option [ ,...n ]

SQL RAISERROR 用法

DECLARE @raiseErrorCode nvarchar(50) SET @raiseErrorCode = CONVERT(nvarchar(50), YOUR UNIQUEIDENTIFIER KEY) RAISERROR('%s INVALID ID. There is no record in table',16,1, @raiseErrorCode) RAISERROR ( N'This is message %s %d.', -- Message text, 10, -- S