精华内容
下载资源
问答
  • 第五个参数:option 错误的自定义选项,可以是下表中的任一值: LOG :在错误日志应用程序日志中记录错误; NOWAIT:将消息立即发送给客户端; SETERROR:将 @@ERROR 值 ERROR_NUMBER 值设置为 msg_id 或 50000...

    代码如下:

    create proc p_sword_getblcolumn

    (

    @tblName varchar(200),

    @fromIndex int,

    @toIndex int,

    @columnName varchar(3000) output

    )

    as

    begin

    declare @tempColumn varchar(3000)

    declare @errMsg varchar(200)

    declare @i int

    set @i=1

    set @columnName=''

    set @errMsg=''

    declare tempColumnCur cursor for

    select syscolumns.name from syscolumns join sysobjects on syscolumns.id = sysobjects.id

    where sysobjects.name =@tblName order by syscolumns.colorder

    open tempColumnCur

    fetch next from tempColumnCur into @tempColumn

    while @@FETCH_STATUS=0

    begin

    if(@fromIndex=0 and @toIndex=0)

    begin

    set @columnName=@columnName+','+@tempColumn

    end

    if(@fromIndex=0 and @toIndex<>0)

    begin

    if(@i<=@toIndex)

    set @columnName=@columnName+','+@tempColumn

    end

    else if(@fromIndex <>0 and @toIndex=0)

    begin

    if(@i>=@fromIndex)

    set @columnName=@columnName+','+@tempColumn

    end

    else if(@i>=@fromIndex and @i<=@toIndex)

    begin

    set @columnName=@columnName+','+@tempColumn

    end

    set @i=@i+1

    print @i

    fetch next from tempColumnCur into @tempColumn

    end

    close tempColumnCur

    deallocate tempColumnCur

    set @columnName=SUBSTRING(@columnName,2,len(@columnName))

    print @columnName

    if(@@ERROR<>0)

    begin

    set @errMsg='get column error '

    goto errorproc

    end

    else

    return 0

    end

    errorproc:

    begin

    raiserror(@errMsg,16,1)

    return 1

    end

    go

    其中涉及到了raiserror函数

    RAISERROR ( { msg_id | msg_str | @local_variable }

    { ,severity ,state }

    [ ,argument [ ,...n ] ]

    )

    [ WITH option [ ,...n ] ]

    参数说明:

    第一个参数:{ msg_id | msg_str | @local_variable }

    msg_id:表示可以是一个sys.messages表中定义的消息代号;

    使用 sp_addmessage 存储在 sys.messages 目录视图中的用户定义错误消息号。

    用户定义错误消息的错误号应当大于 50000。

    msg_str:表示也可以是一个用户定义消息,该错误消息最长可以有 2047 个字符;

    (如果是常量,请使用N'xxxx',因为是nvarchar的)

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

    @local_variable:表示也可以是按照 msg_str 方式的格式化字符串变量。

    第二个参数:severity

    用户定义的与该消息关联的严重级别。(这个很重要)

    任何用户都可以指定 0 到 18 之间的严重级别。

    [0,10]的闭区间内,不会跳到catch;

    如果是[11,19],则跳到catch;

    如果[20,无穷),则直接终止数据库连接;

    第三个参数:state

    如果在多个位置引发相同的用户定义错误,

    则针对每个位置使用唯一的状态号有助于找到引发错误的代码段。

    介于 1 至 127 之间的任意整数。(state 默认值为1)

    当state 值为 0 或大于 127 时会生成错误!

    第四个参数:argument

    用于代替 msg_str 或对应于 msg_id 的消息中的定义的变量的参数。

    第五个参数:option

    错误的自定义选项,可以是下表中的任一值:

    LOG :在错误日志和应用程序日志中记录错误;

    NOWAIT:将消息立即发送给客户端;

    SETERROR:将 @@ERROR 值和 ERROR_NUMBER 值设置为 msg_id 或 50000;

    展开全文
  • 第五个参数:option 错误的自定义选项,可以是下表中的任一值: LOG :在错误日志应用程序日志中记录错误; NOWAIT:将消息立即发送给客户端; SETERROR:将 @@ERROR 值 ERROR_NUMBER 值设置为 msg_id 或 50000...

    感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧!

    代码如下:

    create proc p_sword_getblcolumn

    (

    @tblName varchar(200),@fromIndex int,@toIndex int,@columnName varchar(3000) output

    )

    as

    begin

    declare @tempColumn varchar(3000)

    declare @errMsg varchar(200)

    declare @i int

    set @i=1

    set @columnName=''

    set @errMsg=''

    declare tempColumnCur cursor for

    select syscolumns.name from syscolumns join sysobjects on syscolumns.id = sysobjects.id

    where sysobjects.name =@tblName order by syscolumns.colorder

    open tempColumnCur

    fetch next from tempColumnCur into @tempColumn

    while @@FETCH_STATUS=0

    begin

    if(@fromIndex=0 and @toIndex=0)

    begin

    set @columnName=@columnName+','+@tempColumn

    end

    if(@fromIndex=0 and @toIndex<>0)

    begin

    if(@i<=@toIndex)

    set @columnName=@columnName+','+@tempColumn

    end

    else if(@fromIndex <>0 and @toIndex=0)

    begin

    if(@i>=@fromIndex)

    set @columnName=@columnName+','+@tempColumn

    end

    else if(@i>=@fromIndex and @i<=@toIndex)

    begin

    set @columnName=@columnName+','+@tempColumn

    end

    set @i=@i+1

    print @i

    fetch next from tempColumnCur into @tempColumn

    end

    close tempColumnCur

    deallocate tempColumnCur

    set @columnName=SUBSTRING(@columnName,2,len(@columnName))

    print @columnName

    if(@@ERROR<>0)

    begin

    set @errMsg='get column error '

    goto errorproc

    end

    else

    return 0

    end

    errorproc:

    begin

    raiserror(@errMsg,16,1)

    return 1

    end

    go

    其中涉及到了raiserror函数

    RAISERROR ( { msg_id | msg_str | @local_variable }

    {,severity,state }

    [,argument [,...n ] ]

    )

    [ WITH option [,...n ] ]

    参数说明:

    第一个参数:{ msg_id | msg_str | @local_variable }

    msg_id:表示可以是一个sys.messages表中定义的消息代号;

    使用 sp_addmessage 存储在 sys.messages 目录视图中的用户定义错误消息号。

    用户定义错误消息的错误号应当大于 50000。

    msg_str:表示也可以是一个用户定义消息,该错误消息最长可以有 2047 个字符;

    (如果是常量,请使用N'xxxx',因为是nvarchar的)

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

    @local_variable:表示也可以是按照 msg_str 方式的格式化字符串变量。

    第二个参数:severity

    用户定义的与该消息关联的严重级别。(这个很重要)

    任何用户都可以指定 0 到 18 之间的严重级别。

    [0,10]的闭区间内,不会跳到catch;

    如果是[11,19],则跳到catch;

    如果[20,无穷),则直接终止数据库连接;

    第三个参数:state

    如果在多个位置引发相同的用户定义错误,

    则针对每个位置使用唯一的状态号有助于找到引发错误的代码段。

    介于 1 至 127 之间的任意整数。(state 默认值为1)

    当state 值为 0 或大于 127 时会生成错误!

    第四个参数:argument

    用于代替 msg_str 或对应于 msg_id 的消息中的定义的变量的参数。

    第五个参数:option

    错误的自定义选项,可以是下表中的任一值:

    LOG :在错误日志和应用程序日志中记录错误;

    NOWAIT:将消息立即发送给客户端;

    SETERROR:将 @@ERROR 值和 ERROR_NUMBER 值设置为 msg_id 或 50000;

    总结

    如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

    如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

    展开全文
  • android应用程序第一次启动时显示引导界面市面上好多优秀的应用(举例新浪微博.UC浏览器)都采用了欢迎页面与使用向导的方式给用户带来...arg &ast;&ast;kwargs的作用Hi,伙计们.我发现Python新手们在理解*ar...

    android应用程序第一次启动时显示引导界面

    市面上好多优秀的应用(举例新浪微博.UC浏览器)都采用了欢迎页面与使用向导的方式给用户带来了良好的用户体验. 一般来说用户第一次安装应用或者安装了新版本后第一次进入应用都会显示成 欢迎页面-使用向导- ...

    Python里&ast;arg 和&ast;&ast;kwargs的作用

    Hi,伙计们.我发现Python新手们在理解*args和**kwargs这两个魔法变量时都有些困难.他们到底是什么?首先,我先告诉大家一个事实,完整地写*args和**kwargs是不必要的,我们可以 ...

    javascript的缓动效果

    这部分对原先的缓动函数进行抽象化,并结合缓动公式进行强化.成品的效果非常惊人逆天.走过路过不要错过. 好了,打诨到此为止.普通的加速减速是难以让人满意的,为了实现弹簧等让人眼花缭乱的效果必须动用缓动公 ...

    selenium元素操作

    1.文本框(text field or textarea) element.sendKeys("test");//在输入框中输入内容: element.clear(); //将输入 ...

    poj 3735 Training little cats(矩阵快速幂,模版更权威,这题数据很坑)

    题目 矩阵快速幂,这里的模版就是计算A^n的,A为矩阵. 之前的矩阵快速幂貌似还是个更通用一些. 下面的题目解释来自 我只想做一个努力的人 @@@请注意 ,单位矩阵最初构造 行和列都要是(猫咪数+1) ...

    【nodejs】创建udp套接字的类型参数的含义

    nodejs在创建udp套接字的时候,需要传入一个类型参数.有两种类型参数可供选择:udp4和udp6.udp4对应的就是ipv4,udp6对应的是ipv6.

    &lbrack;Unity-24&rsqb; Unity的四种载入场景的方法

    Unity官方提供了4种载入场景(scene)的方法.各自是: 1. Application.LoadLevel():同步载入 2. Application.LoadLevelAsync():异步载入 ...

    微信小程序之bindtap事件绑定传参

    wxml代码: 上一页&l ...

    zabbix自定义key监控memcache状态及其他服务进程

    一.在客户端 1.到/usr/loca/zabbix/conf/zabbix_agentd.conf里添加         UserParameter=memcached_stats[*],(echo ...

    mybatis框架的注意点

    1.在mapper.xml文件中 resultType:返回结果类型,只能用于单表 paramsType:接收参数类型,基本数据类型可省略 2.给实体类起别名 在mybatisConfig.xml配置 ...

    展开全文
  • 说明:我这里是数据库表中的列名是对应的,mybatis能自动将属性和列明对应起来,如果把属性名改成其他名字,则无法与列名对应,我们 就需要自定义映射规则,将两者对应起来。 1. 在接口配置文件中建立自定义映射...

    建立了数据库表后,需要创建一个bean组件,在该组件中的属性要和数据表中的列相对应。Mybatis会自动根据属性名与列相对应,但是如果bean中的属性名和数据表列明无法匹配时,可以自定义映射规则,将属性名和列明一一对应,解决查询操作中某些字段值无法被查出的问题。

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    说明:我这里是和数据库表中的列名是对应的,mybatis能自动将属性和列明对应起来,如果把属性名改成其他名字,则无法与列名对应,我们 就需要自定义映射规则,将两者对应起来。

    1. 在接口配置文件中建立自定义映射规则

    <!-- 自定义映射规则 -->
      <resultMap type="com.atguigu.bean.Cat" id="mycat">
      	<id property="id" column="id"/>
      	<result property="cName" column="cName"/>
      	<result property="cAge" column="cAge"/>
      	<result property="cGender" column="cGender"/>
      </resultMap>
    

    说明:
    1.type=“com.atguigu.bean.Cat”——添加要进行映射的bean。
    2.id=“mycat”——唯一标识。
    3.<d property=“id” column=“id”/——主键映射。
    4.<result——非主键映射。
    5.property——bean属性中的名字。
    6.column——数据表中的列名。
    2. 在查询语句中的resultMap中引入该规则即可

    <select id="getCatById" resultMap="mycat">
      		select * from t_cat where id = #{id}
    </select>
    

    说明:这里的resultMap原来是resultType="com.atguigu.bean.Cat",使用的是bean的全类名。

    展开全文
  • 最近在mssql数据库内处理job时发现其他数据库的列名和mssql的系统关键字冲突解决办法是列明使用[] 也可以全部使用,即:[dbname].[tablename].[columnname] 当然这样就麻烦了 转载于:...
  • 一直有很大的疑问,有的人说count(*)更快,也有的人说count(列名)更快,那到底是谁更快,我将会在本文中详细介绍一下到底是count(1),count(*)count(列明)的区别,更适合的使用场景。  往常在工作中有人会说...
  • 一直有很大的疑问,有的人说count(*)更快,也有的人说count(列名)更快,那到底是谁更快,我将会在本文中详细介绍一下到底是count(1),count(*)count(列明)的区别,更适合的使用场景。  往常在工作中有人会说...
  • mybatis数据库列名与实体类列明不一致: 比如: 实体类: 数据库: 查出来的结果不能很好的使用User类的toString方法封装(username属性名数据库列名一致,能封装好,其他的属性都不一致): 解决1:...
  • 面试被问到一个问题,假如MySQL中的关键字在查询语句中作为列明或者表名出现,应该怎么处理。 例如 select desc from t; 首先创建一张表,包含两个字段,iddesc 插入了三条数据 果然出错了,其实...
  • ALTER TABLE 表名 ADD `中文列明` datetime COMMENT'插入时间'; 1.2、添加多列 ALTER TABLE 表名 ADD (col_name column_definition,...) 小贴士 datetime为MySQL的日期与时间类型,具体参考如下: 2、删除表中...
  • 面试被问到一个问题,假如MySQL中的关键字在查询语句中作为列明或者表名出现,应该怎么处理。 例如 select desc from t; 首先创建一张表,包含两个字段,iddesc 插入了三条数据 果然出错了,其实出现...
  • 面试被问到一个问题,假如MySQL中的关键字在查询语句中作为列明或者表名出现,应该怎么处理。例如select desc from t;一脸懵逼。尴尬。于是乎,自己私下做了一个实验,发现了其中原因,特此分享。创建t表,包含两个...
  • 最近在做数据从Excel批量导入MSSQL时,传统的是使用Insert Into Table方法,不过这个方便比较慢 通过使用 SqlBulkCopy...但是使用ColumnMappings可以对列明进行映射。 例如 List<string[]> list = new ...
  • 问题描述 在 Excel 中,第 1 列到第 26 列的列名依次为 A 到 Z,从第 27 列开 始,列名有两个字母组成,第 27 列到第 702 列的列名依次...2021的列明肯定是三位,用2021减去一位的个数两位的个数,在用三重循环去枚举
  • Jqgrid动态多表头

    2019-02-26 11:11:00
    说明:jqgrid动态多表主要是一级头(栏目)动态...1:数据源是一个dataTable,拿到数据进行列明循环绑定,此处为二级表头 1 //二级表头 2 var names = []; //显示列名 3 var model = []; //绑定列名 4 ...
  • resultTyperesultMap区别

    2018-08-16 11:17:57
    resultType查询出来的列明和pojo中属性名一直才能映射成功; resultMap如果查询出来的列名和pojo中的属性名不一致,通过定义一个resultMap对列名和属性名之间做一个映射关系。...
  • 查询视图select * from 视图名添加视图CREATE VIEW 视图名 AS SELECT 列名 FROM 表名修改视图alter view 视图名 as select 列名1,列名2 from 表名//修改后,视图里只会出现修改语句里的列 如列名1和列明2...
  • PIVOT用于将值旋转为列名(即行转),在SQLServer2000可以用聚合函数配合CASE语句实现PIVOT的一般语法是:PIVOT(聚合函数()FOR in (…) )AS P完整语法:table_sourcePIVOT(聚合函数(value_column)FOR pivot_...
  • 创建库的时候,要先指定utf8,要不然的话中文会乱码的表格设计规范:信息一定分析详细列多一点没事。...Sql语句DROP TABLE 名字//删除表CREATE TABLE 名字(列名 数据类型,列明 数据类型)//创建表列如果需要必...
  • 1.在SELECT子句的后边只可以有两类表达式:统计函数进行分组的列明 2.在SELECT 子句中的列名必须是进行分组的列,除此之外添加其他的列名都是错误的,但是GROUP BY 中的列名可以不出现在SELECT 子句中 3.如果使用...
  • 添加主键 alter table 表名 add 主键...alter table 表名 add constraint 主键名(主键名字不能重复) primary key(主键列名) --主键列明存在时- 添加默认值 alter table 表名 add 默认名(不能重复) default...
  • MySQL-SQL-DML

    2019-09-27 14:00:08
    ##DML:增删改表中数据 ... * insert into 表名(列明1,列名2,...列名n) values(值1,值2,值n); * 注意: 1.列值要保持一一对应 2. 如果表明后不定义列名,则默认给所有列添加值 * insert ...
  • MySQL视图文件目录

    2021-03-06 14:46:53
    视图是一种类型的存储对象,是一个虚拟表,是在表或者其他视图的基础上,使用select语句来定义的。查询视图就等小雨查询定义...在默认的情况下,视图的列名与其select 语句里 列出的输出列明相同。如果想要显示地改...
  • 利用 INTO OUTFILE导出数据导出数据无列名SELECT col1, col2 FROM table_nameINTO OUTFILE "filename.txt" # 文件格式也可以是".csv"格式FIELDS TERMINATED BY '\t' # 如果是csv...导出数据带列明SELECT col1, col2 ...
  • 把datagridview控件拖进窗体后,选择编辑列,然后添加列,其中DataPropertyName是与数据库中的列明对应,输入数据库列名数据库中该列数据绑定

空空如也

空空如也

1 2 3
收藏数 55
精华内容 22
关键字:

列明和列名