- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
RAISERROR详解.doc
RAISERROR详解
生成错误消息并启动会话的错误处理。RAISERROR 可以引用 sys.messages 目录视图中存储的用户定义消息,也可以动态建立消息。该消息作为服务器错误消息返回到调用应用程序,或返回到 TRY…CATCH 构造的关联 CATCH 块。
语法
RAISERROR ( { msg_id | msg_str | @local_variable }
????{ ,severity ,state }
????[ ,argument [ ,...n ] ] )
????[ WITH option [ ,...n ] ] 备注
RAISERROR 生成的错误与数据库引擎?代码生成的错误的运行方式相同。RAISERROR 指定的值由 ERROR_LINE、ERROR_MESSAGE、ERROR_NUMBER、ERROR_PROCEDURE、ERROR_SEVERITY、ERROR_STATE 以及 @@ERROR 等系统函数来报告。当 RAISERROR 在严重级别为 11 或更高的情况下在 TRY 块中运行,它便会将控制传输至关联的 CATCH 块。如果 RAISERROR 在下列情况下运行,便会将错误返回到调用方:
在任何 TRY 块的作用域之外运行。
在严重级别为 10 或更低的情况下在 TRY 块中运行。
在严重级别为 20 或更高的情况下终止数据库连接。
CATCH 块可以使用 RAISERROR 来再次引发调用 CATCH 块的错误,方法是使用 ERROR_NUMBER 和 ERROR_MESSAGE 之类的系统函数检索原始错误消息。对于严重级别为 1 到 10 的消息,@@ERROR 默认值为 0。有关详细信息,请参阅在 Transact-SQL 中使用 TRY...CATCH。
当 msg_id 指定 sys.messages 目录视图中可用的用户定义消息时,RAISERROR 按照与应用到使用 msg_str 指定的用户定义消息文本的规则相同的规则处理文本列中的消息。用户定义消息文本可以包含转换规格,并且 RAISERROR 将参数值映射到转换规格。使用 sp_addmessage 添加用户定义错误消息,而使用 sp_dropmessage 删除用户定义错误消息。
RAISERROR 可以替代 PRINT 将消息返回到调用应用程序。RAISERROR 支持类似于 C 标准库中 printf 函数功能的字符替代,而 Transact-SQL PRINT 语句则不支持。PRINT 语句不受 TRY 块的影响,而在严重级别为 11 到 19 的情况下在 TRY 块中运行的 RAISERROR 会将控制传输至关联的 CATCH 块。指定严重级别为 10 或更低以使用 RAISERROR 返回 TRY 块中的消息,而不必调用 CATCH 块。
通常,连续的参数替换连续的转换规格;第一个参数替换第一个转换规格,第二个参数替换第二个转换规格,以此类推。例如,在以下 RAISERROR 语句中,第一个参数 Nnumber 代替第一个转换规格 %s,,第二个参数 5 代替第二个转换规格 %d。
复制代码 RAISERROR (NThis is message %s %d., -- Message text.
???????????10, -- Severity,
???????????1, -- State,
???????????Nnumber, -- First argument.
???????????5); -- Second argument.
-- The message text returned is: This is message number 5.
GO 如果为转换规格的宽度或精度指定了星号 (*),则要用于宽度或精度的值被指定为整数参数值。在这种情况下,一个转换规格最多可以使用三个参数,分别用作宽度、精度和替代值。
例如,下列两个 RAISERROR 语句都返回相同的字符串。一个指定参数列表中的宽度值和精度值;另一个指定转换规格中的宽度值和精度值:
复制代码 RAISERROR (N%*.*s, -- Message text.
???????????10, -- Severity,
???????????1, -- State,
???????????7, -- First argument used for width.
???????????3, -- Second argument used for precision.
???????????Nabcde); -- Third argument supplies the string.
-- The messag
您可能关注的文档
- (Ss)句子成分,结构,基本句型,错误分析.doc
- (严)英语专业四级考试听写错误及训练策略.pdf
- (简体)中文书名选对炒股时间点.doc
- (诚实)对不起,我错了.pdf
- (陈志仁)唯物辩证法与企业管理.doc
- AA动泊车系统声音提示异常的技术信息.pdf
- ACMICPC常见错误类型.pdf
- ACOPOS_Error_Code_CN_贝加莱.pdf
- ADCP基本原理及应用.pdf
- AdobeWord转换为Pdf出错以及Word中不能转换为Pdf的解决办法.pdf
- 2024山东烟台交运集团员工招聘317人【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024山东省枣庄市高新区招聘招商团队负责人2人历年【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024山东济南仲裁委员会办公室招聘编外聘用人员2人历年【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024山东潍坊市寒亭区人民政府办公室招聘4人【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024山东省潍坊高密市招聘城市社区工作者120人历年【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024山东荣成市森林管护人员招录8人【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024山东昌乐县属国企业招聘54人【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024山东滨州市沾化区事业单位招聘人员及历年【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024山东烟台市直事业单位招聘拟聘(十四)【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
- 2024山东省政协办公厅所属联合日报社招聘1人历年【综合基础知识500题】高频考点模拟试题及参考答案解析.docx
文档评论(0)