sql中的 raiserror什么意思啊?

来源:百度知道 编辑:UC知道 时间:2024/07/01 04:52:05

RAISERROR
返回用户定义的错误信息并设系统标志,记录发生错误。通过使用 RAISERROR 语句,客户端可以从 sysmessages 表中检索条目,或者使用用户指定的严重度和状态信息动态地生成一条消息。这条消息在定义后就作为服务器错误信息返回给客户端。

语法
RAISERROR ( { msg_id | msg_str } { , severity , state }
[ , argument [ ,...n ] ] )
[ WITH option [ ,...n ] ]

参数
msg_id

存储于 sysmessages 表中的用户定义的错误信息。用户定义错误信息的错误号应大于 50,000。由特殊消息产生的错误是第 50,000 号。

msg_str

是一条特殊消息,其格式与 C 语言中使用的 PRINTF 格式样式相似。此错误信息最多可包含 400 个字符。如果该信息包含的字符超过 400 个,则只能显示前 397 个并将添加一个省略号以表示该信息已被截断。所有特定消息的标准消息 ID 是 14,000。

msg_str 支持下面的格式:

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

可在 msg_str 中使用的参数包括:

flag

用于确定用户定义的错误信息的间距和对齐的代码。

可以查阅一下SQL SERVER的联机丛书(在安装了MSSQL的开始菜单里可以查到)

自定义一个错误类型
例如:
你定义一个存储过程如下,这个存储过程没什么意义,只是为了用raiserror
create procedure check_mark
@pass_mark int -- 及格线
as
if @pass_mark not between 0 and 100
begin
raiserror "请