-
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 -
详解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 -
实例理解SQL中truncate和delete的区别
本文以一个简单实例为大家介绍了SQL中truncate和delete的区别,帮助大家理解,具体内容如下---创建表Table1IFOBJECT_ID('Table1','U')ISNOTNULLDROPTABLETable1GOCREATETABLETable1(IDINTNOTNULL,FOIDINTNOTNULL)GO--插入测试数据INSERTINTOTable1VALUES(1,101),(2,102),(3,103),(4,104)GO---创建表Table2IFOBJECT_ID('Table2','U')ISNOTNULLDROPTABLETable2GOCREATETABLETable2(FOIDINTNOTNULL)GO--插入测试数据INSERTINTOTable2VALUES(101),(102),(103),(104)GOSELECT*FROMTable1GOSELECT*FROMTable2GO在Table1表中创建触发器,当表中的数据被删除时同时删除Table2表中对应的FOIDCREATETRIGGERTG_Table1ONTable1AFTERDELET...
数据库操作教程 2022-09-23 17:42:41 -
针对distinct疑问引发的一系列思考
有人提出了这样一个问题,整理出来给大家也参考一下假设有如下这样一张表格:这里的数据,具有如下的特征:在一个DepartmentId中,可能会有多个Name,反之也是一样。就是说Name和DepartmentId是多对多的关系...
数据库操作教程 2022-09-23 17:38:26 -
sql2000报错Successfullyre-openedthelocaleventlog解决方法
报错1:Unabletoreadlocaleventlog(reason:事件日志文件已在读取间更改。报错2:Successfullyre-openedthelocaleventlog-NOTE:Someeventsmayhavebeenmissed.微软解释:http://support.microsoft.com/default.aspx?scid=kb;en-us;811484解决办法:如果要防止错误日志,中出现这些消息可以使用跟踪标志2505作为启动参数要将跟踪标志2505作为SQLServer启动参数,使用以下步骤:1.企业管理器,右键单击服务器名称,依次属性...
数据库操作教程 2022-09-23 17:34:47 -
sqlserver实现oracle的sequence方法
当然这点小问题是难不倒我们程序员的,“max+1啊”,有人会说这样的方式。是的,这种方式实现起来也比较简单...
数据库操作教程 2022-09-23 17:23:52 -
OBJECTPROPERTY与sp_rename更改对象名称的介绍
相关的OBJECTPROPERTY可参考:http://msdn.microsoft.com/en-us/library/ms176105.aspx开发过程中,错误免不了。为了纠正错误与规范化...
数据库操作教程 2022-09-23 17:23:16 -
基于SQLServer中char,nchar,varchar,nvarchar的使用区别
对于程序中的一般字符串类型的字段,SQLServer中有char、varchar、nchar、nvarchar四种类型来对应,那么这四种类型有什么区别呢,这里做一下对比。1.定长或变长所谓定长就是长度固定,当要保存的数据长度不够时将自动在其后面填充英文空格,使长度达到相应的长度;有var前缀的,表示是实际存储空间是动态变化的,比如varchar,nvarchar变长字符数据则不会以空格填充...
数据库操作教程 2022-09-23 17:18:40 -
CREATEFUNCTIONsqlserver用户定义函数
创建用户定义函数,它是返回值的已保存的Transact-SQL例程。用户定义函数不能用于执行一组修改全局数据库状态的操作...
数据库操作教程 2022-09-23 17:18:33 -
PL/SQLDEVELOPER使用的一些技巧
1,登录后默认自动选中MyObjects默认情况下,PLSQLDeveloper登录后,Brower里会选择Allobjects,如果你登录的用户是dba,要展开tables目录,正常情况都需要Wait几秒钟,而选择MyObjects后响应速率则是以毫秒计算的。Tools菜单-->ObjectBrowerFilters,会打开BrowerFolders的定单窗口,把“MyObjects”设为默认即可...
数据库操作教程 2022-09-23 17:13:11 -
SQLServer误区30日谈第19天Truncate表的操作不会被记录到日志
误区#19:Truncate表的操作不会被记录到日志错误在用户表中的操作都会被记录到日志。在SQLServer中唯一不会被记录到日志的操作是TempDB中的行版本控制...
数据库操作教程 2022-09-23 17:06:32