使用PRINT语句显示错误信息
错误信息是临时的,只能显示给用户
RAISERROR 显示用户定义的错误信息时
可指定严重级别
设置系统变量@@ERROR
记录所发生的错误等
RAISERROR语句的用法如下:
msg_id:在sysmessages系统表中指定用户定义错误信息
msg_str:用户定义的特定信息,最长255个字符
severity:定义严重性级别。用户可使用的级别为0–18级
state:表示错误的状态,1至127之间的值
option:指示是否将错误记录到服务器错误日志中
例如调用存储过程时,如果传入的及格线参数不在0~100之间时,将弹出错误警告,终止存储过程的执行
定义存储过程代码如下:
CREATE PROCEDURE usp_stu
@Pass int = 60
AS
IF (NOT @Pass BETWEEN 0 AND 100) --判断及格线是否不在取值范围内
BEGIN
RAISERROR ('及格线错误,请指定-之间的分数,统计中断退出',16,1)
RETURN
END
调用代码如下
EXEC usp_stu 1000
RAISERROR()引发系统错误,指定错误的严重级别16,调用状态为1(默认),并影响@@ERROR系统变量的值!