-
SQLServer中查看对象定义的SQL语句
除了在SSMS中查看view,存储过程等定义,也可以使用下面的语句直接查询:复制代码代码如下:SELECTobject_definition(object_id('sys.tables'));gosp_helptext'sys...
数据库操作教程 2022-09-23 17:44:15 -
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中查看当前Open的Cursor方法
遇到错误:Acursorwiththename''alreadyexists,想要看是什么代码导致的。找到下面几种方法.--测试声明Cursor并且打开DECLAREvend_cursorCURSORFORSELECT*FROMPurchasing.VendorOPENvend_cursorFETCHNEXTFROMvend_cursor;--使用下面的三种方法都可以SELECTec.session_id,ec.name,ec.properties,ec.creation_time,ec.is_open,ec.writes,ec.reads,t.textFROMsys.dm_exec_cursors(0)ecCROSSAPPLYsys.dm_exec_sql_text(ec.sql_handle)tdbccactivecursors(0)SELECT*FROMMASTER..SYSCURSORS结果:...
数据库操作教程 2022-09-23 17:44:11 -
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 -
总结SQL执行进展优化方法
在本文中,小编将与大家重点探讨SQL执行进展优化的方法。聚集索引扫描SELECT*FROMC_SY_Ownedstorm聚集索引扫描比表扫描快聚集索引扫描:发生于聚集表,也相当于全表扫描操作,但在针对聚集列的条件等操作时,效率会较好...
数据库操作教程 2022-09-23 17:43:58 -
简单介绍SQLServer里的闩锁
在今天的文章里我想谈下SQLServer使用的更高级的,轻量级的同步对象:闩锁(Latch)。闩锁是SQLServer存储引擎使用轻量级同步对象,用来保护多线程访问内存内结构...
数据库操作教程 2022-09-23 17:43:53 -
SqlServer中REPLACE函数的使用
REPLACE用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式。语法REPLACE(''string_replace1'',''string_replace2'',''string_replace3'')参数''string_replace1''待搜索的字符串表达式...
数据库操作教程 2022-09-23 17:43:50 -
SQL数据库优化大总结之百万级数据库优化方案
网上关于SQL优化的教程很多,但是比较杂乱。近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充...
数据库操作教程 2022-09-23 17:43:48 -
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