例如我有一个test表 create table (stuid int,name varchar(20); 插入多条数据,注意不能直接使用insert into test values(1,'a'),(2,'b')之类的语句,应该使用以下语句 insert all into test values(1,'a') into test values(2,'b') select 1 from dual; #这句不知道有什么用处,但是缺少也不行
前言 由于项目需求,需要将Excel中的数据进过一定转换导入仅Oracle数据库中.考虑到当Excel数据量较大时,循环Insert语句效率太低,故采用批量插入的方法.在插入操作运行时,会造成系统短暂的"卡死"现象.为了让用户知道插入的状态,需要制作一个进度条来显示插入的进度. 批量插入 项目中运用的是System.Data.OracleClient.首先将Excel数据通过转换函数转换为DataTable,其中的字段和数据库中相应表格的字段完全对应. public int Impor
1.只批量插入: insert into WXPAY_ACCOUNT(id ,out_trade_no ,transaction_id)select SEQ_WXPAY_ACCOUNT.nextval id,a.* FROM ( SELECT#{wxpayAccount.outTradeNo ,jdbcType=VARCHAR},#{wxpayAccount.transactionId ,jdbcType=VARCHAR}FROM dual ) a 2.批量插入(存在不插入) merge int
截取部分日志信息: 2015-09-01 14:48:47,132 INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - Loading XML bean definitions from class path resource [org/springframework/jdbc/support/sql-error-codes.xml]2015-09-01 14:48:47,178 INFO [org.spr