• RAISERROR语句


    生成错误消息。RAISERROR 可以引用 sys.messages 目录视图中存储的用户定义消息,也可以动态建立消息。该消息作为服务器错误消息返回到调用应用程序,或返回到 TRY…CATCH 构造的关联 CATCH 块。

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

    msg_id

    使用 sp_addmessage 在 sys.messages 目录视图中存储的用户定义的错误消息号。 用户定义的错误消息的错误号应大于 50000。 当未指定 msg_id 时,RAISERROR 将引发一个错误号为 50000 的错误消息。

    msg_str

    用户定义消息,该错误消息最长可以有 2,047 个字符。

    当指定 msg_str 时,RAISERROR 将引发一个错误号为 50000 的错误消息。

    msg_str 是一个字符串,具有可选的嵌入转换规格。 每个转换规格都会定义参数列表中的值如何格式化并将其置于 msg_str 中转换规格位置上的字段中。 转换规格的格式如下:

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

    {h | l} type

    与字符类型 d、i、o、s、x、X 或 u 一起使用,用于创建 shortint (h) 值或 longint (l) 值。

    类型规范

    表示

    d 或 i

    带符号的整数

    o

    无符号的八进制数

    s

    字符串

    u

    无符号的整数

    x 或 X

    无符号的十六进制数

    @ local_variable

    是一个可以为任何有效字符数据类型的变量,其中包含的字符串的格式化方式与 msg_str 相同。

    @local_variable 必须为 char 或 varchar,或者能够隐式转换为这些数据类型。

    severity

    用户定义的与该消息关联的严重级别。

    任何用户都可以指定 0 到 18 之间的严重级别。 只有 sysadmin 固定服务器角色成员或具有 ALTER TRACE 权限的用户才能指定 19 到 25 之间的严重级别。将小于 0 的严重级别解释为 0。 将大于 25 的严重级别解释为 25。

    state

    用户定义的与该消息关联的状态号。

    0 到 255 之间的整数。负值或大于 255 的值将生成错误。

    如果在多个位置引发相同的用户定义错误,则针对每个位置使用唯一的状态号有助于找到引发错误的代码段。

    argument

    用于代替 msg_str 或对应于 msg_id 的消息中的定义的变量的参数。 可以有 0 个或更多个替换参数,但替换参数的总数不能超过 20。 每个替换参数可以是本地变量或以下任何数据类型:tinyint、smallint、int、char、varchar、nchar、nvarchar、binary 或 varbinary。 不支持其他数据类型。

    --例子:
    RAISERROR('完成',16,1)
    declare @Err        int;
    declare @BreakPoint    int;
    declare @Msg        varchar(255);
    select @BreakPoint = 88880001;
    select @Msg = '',@Err=0;
    SELECT @Err = @@ERROR,@Msg = '报错test'
    raiserror('%s,断点 = %d,Err = %d',16,1,@Msg,@BreakPoint,@Err);
  • 相关阅读:
    bootstrap 导航栏、输入框按钮组、栅格系统
    Python排序算法冒泡排序选择排序插入排序
    Python 解螺旋数组
    初到博客园,请多指教
    gcd, map for ocaml
    qsort for ocaml
    子序列和最大的问题
    将一个整数划分为非负整数的部分
    filter in Ocaml
    scheme中表只能操作头部带来的一个问题
  • 原文地址:https://www.cnblogs.com/xiaozhi1236/p/5730464.html
Copyright © 2020-2023  润新知