问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle如何批量执行某个文件夹下面的多个.sql脚本

发布网友 发布时间:2022-04-07 21:29

我来回答

4个回答

懂视网 时间:2022-04-08 01:50

批量添加20000条数据用时8秒。 try { String url = "jdbc:oracle:thin:@IP:1521:orcl"; // orcl为数据库的SID String user = "oracle"; String password = "oracle"; StringBuffer sql = new StringBuffer(); sql.append("insert into ex_log (EX_LOG_ID,EX_LOG_DATE) values (?,?)"); Class.forName("oracle.jdbc.driver.OracleDriver"); Connection con = (Connection) DriverManager.getConnection(url,user,password); // 关闭事务自动提交 con.setAutoCommit(false); Long startTime = System.currentTimeMillis(); PreparedStatement pst = (PreparedStatement) con.prepareStatement(sql.toString()); for (int i = 0; i < list.size(); i++) { ExLog exLog = (ExLog)list.get(i); pst.setString(1, exLog.getExLogId()); pst.setString(2, exLog.getExLogDate()); // 把一个SQL命令加入命令列表 pst.addBatch(); } // 执行批量更新 pst.executeBatch(); // 语句执行完毕,提交本事务 con.commit(); Long endTime = System.currentTimeMillis(); System.out.println("用时:" + (endTime - startTime)); pst.close(); con.close(); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); }

 


------------------------------------------------------------------------------------- 下面是我的实例
 Connection conn = null;
 PreparedStatement stmt = null;

 StringBuffer sql = new StringBuffer();
 sql.append("merge into DEEPDATA.WARNING_MES t1 ");
 sql.append("using (select ? as CUSTOMER_ID,? as added,? as integrated_risk,? as inner_risk,? as industry_risk,? as region_risk from dual) t2 ");
 sql.append("on (t1.CUSTOMER_ID=t2.CUSTOMER_ID) ");
 sql.append("when matched then ");
 sql.append("update set ");
 sql.append("t1.added = t2.added,t1.integrated_risk = t2.integrated_risk,t1.INNER_RISK = t2.INNER_RISK,t1.industry_risk = t2.industry_risk,t1.region_risk = t2.region_risk ");
 sql.append("when not matched then ");
 sql.append("insert (t1.CUSTOMER_ID,t1.added,t1.integrated_risk,t1.INNER_RISK,t1.industry_risk ,t1.region_risk) ");
 sql.append("values(t2.CUSTOMER_ID,t2.added,t2.integrated_risk,t2.INNER_RISK,t2.industry_risk ,t2.region_risk)");

 try {
  conn = DriverManager.getConnection(url, dbUser, dbPassword);
  // 关闭自动提交;
  conn.setAutoCommit(false);
  stmt = conn.prepareStatement(sql.toString());

  Timestamp timestamp = Timestamp.valueOf(GetDate
   .getTodayDate_FullFormat());

  if (result != null && result.size() > 0) {
  double tmpValue;
  for (Map<String, Object> map : result) {
   tmpValue = Double.parseDouble(map.get(
    ConstValue.IntegratedRisk).toString());
   if (specialHandle.contains(map.get("id").toString())) {
   tmpValue = tmpValue * 1.72;
   }

   stmt.setInt(1, Integer.parseInt(map.get("id").toString()));
   stmt.setTimestamp(2, timestamp);
   stmt.setDouble(3, tmpValue);
   stmt.setDouble(4, Double.parseDouble(map.get(
    ConstValue.InnerRisk).toString()));
   stmt.setDouble(5, Double.parseDouble(map.get(
    ConstValue.IndustryRisk).toString()));
   stmt.setDouble(6, Double.parseDouble(map.get(
    ConstValue.RegionRisk).toString()));
   stmt.addBatch();
  }
  stmt.executeBatch();
  conn.commit();
  }

  stmt.close();
  conn.close();
 } catch (SQLException e) {
  e.printStackTrace();
 }

 

 

[转载]Oracle批量执行

标签:

热心网友 时间:2022-04-07 22:58

为什么我在cmd窗口中输入sqlplus user/pass为报错

热心网友 时间:2022-04-08 00:16

select ......后面 加 ; 就可以执行多个sql了!

热心网友 时间:2022-04-08 01:51

。。。一般都是按照你说的那样整的吧。。

应该没有别的偷鸡方法了吧?

我也关注中。。。。。

回头说一句,复制个脚本名称你还嫌麻烦?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
kmose正确使用方法? 单位高温防护欠缺致员工中暑如何对待 狗狗为什么爱看视频 360浏览器怎么设置倍速播放 ...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 devia蓝牙耳机EM053能不能一边充充电舱一边充耳机? devia迪沃挂耳式蓝牙耳机好用吗,评价如何 大手大脚马皇后开什么生肖 小脚女人独外出(猜什么生肖) 谁知道水果盆怎样切漂亮呢? 青山绿水合天色,小脚女人拘兔归。什么生肖???。 小脚女人追兔子指什么生肖? 小脚女人独自出门,猜是什么生肖? 小脚女人上楼梯 步步难猜一生肖 欲钱找青山绿水合天色,小脚女人抱兔归的生肖 2015年小脚女人开什么生肖 &#x200D;梨子怎么切才好看,给客人上的,求指教 小脚女人是什么生肖? 青山绿水合天色,小脚女人抱兔归。猜是什么生肖 雪梨怎么切才好看 小脚女人过马路,水池不通围观人是指什么生肖 小脚女人:指一生肖 小脚女人,猜一生肖? 小脚女人,是什么动物 小脚女人是什么生肖 ...十九11:32出生的王姓双胞胎女孩帮忙起名,起个成语或比较有内涵意义名... 为什么倒胶至少要放30分钟???生物分子学实验 在美容院做倒胶是什么意思 滤芯胶的滤芯胶的使用要求 制琼脂糖胶时,先插梳子还是先倒胶? 滴胶工艺的技术工艺 橡胶树收胶工作的要领有哪些? 脸部倒胶的美容方法为什么会吸引那么多人去做?有副作用吗? 电子生产线倒黄胶有什么好方法? 凝胶电泳时为什么倒胶后至少要放置30分钟 关于乒乓球拍灌胶,用什么胶水好 注塑机打出为什么经常打不出胶 电子灌封胶的使用方法和注意事项是什么? 尿检中的小红细胞多见是什么含义尿红细胞形态分析 红细胞大小不一最常见的是哪一种贫血 红细胞大小不均最常见于哪一项?1.缺铁性贫血;2.巨幼细胞性贫血 为什么这么选? 尿检中的小红细胞多见是什么含义尿红细胞 血常规化验单出现小红细胞提示什么? 尿中只有60%的小红细胞 是什么疾病 红细胞形状非均一性小红小红细胞是什么意思