sql server数据库中raiserror函数用法的详细介绍_MsSql

来源:脚本之家  责任编辑:小易  

www.zgxue.com防采集请勿采集本网。

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

master 数据库配置用户信息等系统信息 tempdb 保存临时表和临时存储过程 model 模板库,系统所创建的所有数据库的模板 msdb 提供sqlserver代理程序调度警报和作业时使用

server数据库中raiserror的作用就和asp.NET中的throw new Exception一样,用于抛出一个异常或错误。这个错误可以被程序捕捉到。

用来存储数据库的数据和数据库的启动信息。每个数据库必须有且只有一个主数据文件,其扩展名为.mdf。实际的主数据文件都有两种名称:操作系统文件名和逻辑文件名(在sql语句中会用到)。(2)辅助数据文件

raiserror的常用格式如下:

1、首先在2113Navicat for MySQL 管理器中,创建目标数据5261库。2、点击创建好的目4102标数据库website点的”表“一项,在右边会1653出现导入向导选项。3、选择SQL Server数据库ODBC,“下一步

raiserror('错误的描述',错误的严重级别代码,错误的标识,错误的描述中的参数的值(这个可以是多个),一些其它参数),在官方上的格式描述如下:

一、数据库引擎没有启动 有两种启动方式: (1)开始->程序->Microsoft SQL Server 2008->SQL Server 2008外围应用配置器,在打开的界面单击\"服务的连接的外围应用配置器\",在打开的界面中找到

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

1、打开sqlserver的企业管理器或者是SQL server Management Studio 2、服务器类型选择:数据库引擎 3、服务器名称输入:localhost或是本机ip 4、身份验证选择:如果没开混合验证,选windows身份

其中,[ ,argument [ ,...n ] ]与 [ WITH option [ ,...n ] 两项是可以不写的。

分别解释一下各参数的用法:

一、{ msg_id | msg_str | @local_variable }

从这个参数中可以看出,这一项可能为三个值,

1,sys.messages中的自定义错误信息的错误信息号,自定义错误信息可以使用sp_addmessage存储过程添加到sys.messages中,注意, 用户定义错误消息的错误号应当大于 50000。

示例:raiserror(50001,16,1)

2,一条直接的错误描述,示例:raiserror('这里是错误描述的示例',16,1)

3,一个包含错误描述变量,示例:

declare @error_mes varchar(1000) set @error_mes='这里是错误描述的示例' raiserror(@error_mes,16,1)

二、severity

这个参数为用户定义的该错误信息的级别,我们可以指定 0 到 18 之间的严重级别。只有 sysadmin 固定服务器角色成员或具有 ALTER TRACE 权限的用户才能指定 19 到 25 之间的严重级别。若要使用 19 到 25 之间的严重级别,必须选择 WITH LOG 选项。

注意,如果错误级别在20~25之间,那么数据库会认为这个错误是致命,那么数据库会将该错误记录到错误日志和应用程序日志后终止数据库的连接。任何小于 0 的严重级别被认为等于0。大于 25 的严重级别被认为等于25。

三、state

这个参数是可以是1~127之间任意整数,可以用来标识错误的发生位置,如果一段代码的多个位置都会发生同样的错误,那么就可以将这个参数设置为不同的值,用来标识是那个位

置发生错误了。

四、[ ,argument [ ,...n ] ]

如果参数{ msg_id | msg_str | @local_variable }中包含了一些代替符,那么这个参数就是代替符的具体的值,这个和asp.Net中的string.Format用法是一样的。示例如下:

declare @error_mes varchar(1000) set @error_mes='这里是用户%s引发的错误描述' raiserror(@error_mes,16,1,'张三')

也可以是这样,可能适用性更广些。

declare @error_mes varchar(1000) declare @error_obj varchar(1000) select @error_obj=name from table_users where…… set @error_mes='这里是用户%s引发的错误描述' raiserror(@error_mes,16,1,@error_obj)

上面代码中的%s,代表它要替代是一个字符串,如果我们把示例写成下面这样就会报错了:

declare @error_mes varchar(1000) set @error_mes='这里是用户%s引发的错误描述' raiserror(@error_mes,16,1,1)

因为1不是一个字符串,如果要替代是一个整数,就需要使用%i或者%d了。所有的对应关系如下:

1,%d或%i代表有符号整数

2,%u代表无符号整数

3,%o代表无符号八进制数

4,%s代表字符串

5,%x或%X代表 无符号十六进制数

五、[ WITH option [ ,...n ] ]

该参数为错误的自定义选项,可以是下面三个值中的一个:

1,LOG--在 Microsoft SQL Server 数据库引擎 实例的错误日志和应用程序日志中记录错误。记录到错误日志的错误目前被限定为最多 440 字节。只有 sysadmin 固定服务器角色

成员或具有 ALTER TRACE 权限的用户才能指定 WITH LOG。

2,NOWAIT--将消息立即发送给客户端。

3,SETERROR--将 @@ERROR 值和 ERROR_NUMBER 值设置为 msg_id 或 50000,不用考虑严重级别。

我们还可以在Begin catch中使用raiserror。示例如下:

begin try raiserror('这是一个错误',16,1) //注意,只有severity级别在11~19之间,控制才会跳转到catch块中。 end try begin catch declare @error_message varchar(1000) set @error_message=error_message() raiserror(@error_message,16,1) return end catch

到此这篇关于sql server数据库中raiserror函数用法的详细介绍的文章就介绍到这了,更多相关sql server中raiserror函数用法内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网!

作用如下:一、系统表存储SQL所有的系统信息。存储有关数据库7a686964616fe78988e69d8331333433633439服务中的元数据所谓元数据即(比如数据服务器有哪些用户数据库、数据库服务器有哪些登陆账号,数据库中都有哪些表,每个表都有哪些字段 每个数据库有哪些存储过程、视图等等的数据),系统表一般sys开头。二、了解数据库中系统表,可以编写sql语句或编程的时候用到。在创建数据库的时候选判断数据库是否存在;创建数据库中对象(表、视图、存储过程、索引等)是否存在,存在返回,不存在则执行创建语句。批量删除数据库中对象,比如一次性删除某个具体数据库中的所有用户创建的表、视图、索引等对象。三、重要的几个系统表Sysxlogins:存在与Master数据库中,(所有数据库中用户和角色),记录着所有能登陆到Sql server 的帐号。要重启服务或reconfigure with override,sysdatabases:记录着当前系统所有的数据库。只有Master数据中有此系统表。扩展资料:一、数据库优点:1、易于维护:都是使用表结构,格式一致;2、使用方便:SQL语言通用,可用于复杂查询;3、复杂操作:支持SQL,可用于一个表以及多个表之间非常复杂的查询。二、数据库缺点:1、读写性能比较差,尤其是海量数据的高效率读写;2、固定的表结构,灵活度稍欠;3、高并发读写需求,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • sql server 中 raiserror 的用法详细介绍
  • sql server自定义异常raiserror使用示例
  • 一些文件未注册导致mssql表文件无法找开的解决方法
  • ms sql server 数据库日志压缩方法与代码
  • 安装sql2008时提示删除sql2005express工具的解决方法
  • sql临时表递归查询子信息并返回记录的代码
  • sql 根据汉字获取全拼的代码
  • sql server中的sql语句优化与效率问题
  • sql 导入导出excel数据的语句
  • 谈谈sqlserver自定义函数与存储过程的区别
  • sql查询数据库中符合条件的记录的总数
  • 解决sql server无法启动的小技巧
  • SQL SERVER 数据库到底有什么具体作用
  • sql server系统数据库有哪些,它们各自的功能是哪些?
  • SQL Server默认创建了哪些数据库, 这些数据库的作用分别是什么?
  • 如何检查电脑里是否装有SQL Server数据库
  • sql server 数据库中的系统数据库哪几个
  • sql server数据库文件有几种
  • sql server的数据如何导入到mysql数据库中?
  • sql server连接本地数据库失败怎么办
  • 如何登陆sql server中的数据库
  • sql server怎么导入数据库
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页mssqlsql server 中 raiserror 的用法详细介绍sql server自定义异常raiserror使用示例一些文件未注册导致mssql表文件无法找开的解决方法ms sql server 数据库日志压缩方法与代码安装sql2008时提示删除sql2005express工具的解决方法sql临时表递归查询子信息并返回记录的代码sql 根据汉字获取全拼的代码sql server中的sql语句优化与效率问题sql 导入导出excel数据的语句谈谈sqlserver自定义函数与存储过程的区别sql查询数据库中符合条件的记录的总数解决sql server无法启动的小技巧sql server 2012 安装图解教程(附sql server数据库入门学习总结microsoft sql server 2012 数据sql重复记录查询的几种方法win7系统安装sqlserver2000的详细sqlserver中distinct的用法(不重sql server错误代码大全及解释(sql-order by 多字段排序(升序、sql将一个表中的数据插入到另一个用sql语句添加删除修改字段、一些sql 经典语句sql select语句完整的执行顺序sql 语句练习与答案sql学习笔记三 select语句的各种形式小结sqlserver as的用法ms-sql server 中单引号的两种处理方法sql server 数据库备份的三种策略及语句sql server 2017 developer的下载、安装、解析sqlserver获取excel中所有sheet的方法sqlserver启动不起来(错误9003)的解决方法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved