-
MyBatisMapperProviderMessageFormat拼接批量SQL语句执行报错的原因分析及解决办法
最近在项目中有这么一段代码:下载服务器基础业务数据进行本地批量插入操作,因项目中使用mybatis进行持久化操作,故直接考虑使用mybatis的批量插入功能。1.以下是Mapper接口的部分代码publicinterfacePrintMapper{@InsertProvider(type=PrintMapperProvider.class,method="insertAllLotWithVehicleCode4H2")voidinsertAllLotWithVehicleCode(List<LotWithVehicleCodeBO>lotWithVehicleCodes);}2.对应MapperProvider中函数片段publicStringinsertAllLotWithVehicleCode4H2(Map<String,List<LotWithVehicleCodeBO>>map){List<LotWithVehicleCodeBO>lotWithVehicleCodeBOs=map.get("list");StringBuilde...
数据库操作教程 2022-09-23 17:44:13 -
SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(中)
通过上篇文章给大家介绍了SqlServer应用之sys.dm_os_waiting_tasks引发的疑问(上),说了一下sys.dm_exec_requests和sys.dm_os_waiting_tasks在获取并行等待的时候得不同结果,这一篇我们谈论下我的第二个疑问:为什么一个并行计划(4线程)却一下出现了那么多等待,SQL的并行到底是怎么执行的!!!! 先贴以下上篇sys.dm_os_waiting_tasks的结果图: 我们分析一下这个结果的task_address可以看出去掉重复其实只有9个,也就是说一个并行(4线程,配置不同,情况也不同)会有9个task。又是线程,又是task,还有worker,schedulers这些都是什么?这个有必要先说一下,因为这篇博客前我也是乱乱的...
数据库操作教程 2022-09-23 17:44:07 -
SQLServer自定义异常raiserror使用示例
在使用SQLServer存储过程或者触发器时,通常会使用自定义异常来处理一些特殊逻辑。例如游标的销毁,事务的回滚...
数据库操作教程 2022-09-23 17:44:07 -
SQLSERVER分页查询关于使用Top方式和row_number()解析函数的不同
临近春节,心早已飞了不在工作上了,下面小编给大家整理些数据库的几种分页查询。SqlSever2005之前版本:selecttop页大小*from表名whereidnotin(selecttop页大小*(查询第几页-1)idfrom表名orderbyid)orderbyid例如:selecttop10*--10为页大小from[TCCLine].[dbo].[CLine_CommonImage]whereidnotin(--40是这么计算出来的:10*(5-1)--页大小*(查询第几页-1)selecttop40idfrom[TCCLine].[dbo].[CLine_CommonImage]orderbyid)orderbyid结果为:SqlSever2005及以上版本,多了个分页查询方法:/**firstIndex:起始索引*pageSize:每页显示的数量*orderColumn:排序的字段名*SQL:可以是简单的单表查询语句,也可以是复杂的多表联合查询语句*/selecttoppageSizeo.*from(selectrow_number()over(orderbyorderC...
数据库操作教程 2022-09-23 17:43:41 -
详解SQL中drop、delete和truncate的异同
第一:相同点: truncate和不带where子句的delete,以及drop都会删除表内的数据第二:不同点:1.truncate和delete只删除数据不删除表的结构(定义) drop语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index);依赖于该表的存储过程/函数将保留,但是变为invalid状态。2.delete语句是数据库操作语言(dml),这个操作会放到rollbacksegement中,事务提交之后才生效;如果有相应的trigger执行的时候将被触发...
数据库操作教程 2022-09-23 17:43:38 -
如何在SQLServer2014中用资源调控器压制你的存储?
在今天的文章里,我想谈下SQLServer2014里非常酷的提升:现在你终于可以根据需要的IOPS来压制查询!资源调控器(ResourceGovernor)自SQLServer2008起引入,但提供的功能还是有所限制:你只能限制CPU时间(这个已经很棒了),还有你能限制查询(从每个独立的查询)内存量。但作为DBA的你,你经常会进行一些数据库维护操作,例如索引重建,DBCCCHECKDB操作等...
数据库操作教程 2022-09-23 17:43:13 -
SQLServer2014哈希索引原理详解
当一个key-value键值对传递给一个哈希函数的时候,经过哈希函数的计算之后,根据结果会把key-value键值对放在合适的hashbuckets(哈希存储桶)里举个栗子我们假设对10取模(%10)就是哈希函数。如果key-value键值对的key是1525,传递到哈希函数,那么1525会存放在第五个bucket里因为5as1525%10=5...
数据库操作教程 2022-09-23 17:42:13 -
SQLLOADER错误小结
在使用SQL*LOADER装载数据时,由于平面文件的多样化和数据格式问题总会遇到形形色色的一些小问题,下面是工作中累积、整理记录的遇到的一些形形色色错误。希望能对大家有些用处...
数据库操作教程 2022-09-23 17:42:05 -
sql编程工具SqlPrompt下载及安装破解图文教程
SqlPrompt智能提示及其格式化用起来非常方便。免费下载地址:https://www.jb51.net/database/201355.html1.下载SQLPrompt5.3.4.1,是个压缩包,里面有三个文件免登录免积分下载地址:https://www.jb51.net/database/201355.html1)下载完成后,解压得到下面三项...
数据库操作教程 2022-09-23 17:40:48 -
详解SQL中GroupBy的用法
GROUPBY语句用于结合合计函数,根据一个或多个列对结果集进行分组。1、概述“GroupBy”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理...
数据库操作教程 2022-09-23 17:39:53 -
浅析SQL语句中GROUPBY的用法
GROUPBY是分组查询,一般GROUPBY是和聚合函数配合使用,你可以想想你用了GROUP BY按 ITEM.ITEMNUM这个字段分组,那其他字段内容不同,变成一对多又改如何显示呢,比如下面所示A B1 abc1 bcd1 asdfgselectA,BfromtablegroupbyA你说这样查出来是什么结果,A B abc1 bcd asdfg右边3条如何变成一条,所以需要用到聚合函数,比如selectA,count(B)数量fromtablegroupbyA这样的结果就是A 数量1 3groupby有一个原则,就是select后面的所有列中,没有使用聚合函数的列,必须出现在groupby后面...
数据库操作教程 2022-09-23 17:38:18