在线等,求大神指导,20多万行insert语句如何快速插入到表中 求大神提供下思路啊,现在有一个sql脚本(40多兆)里面全部是insert语句,大概有25万多行,求指导如何快速执行这个脚本插入到oracle中 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 例如1.sql里面是: insert into xx (xx,xx) values (xx,xx);可以在命令行 使用 @c:\1.sql; 来调用你的脚本 用 batchExecute,只要没有BLOB这种大对象字段,每秒10万条以上很轻松。样例:PreparedStatement stmt = conn.prepareStatement("INSERT INTO Users VALUES(?,?,?)");User[ ] users = ...;for(int i=0; i<users.length; i++) { stmt.setInt(1, users[i].getName()); stmt.setInt(2, users[i].getAge()); stmt.setInt(3, users[i].getShape()); stmt.addBatch();}int[ ] counts = stmt.executeBatch();batch-size 不要设置的太小。 感谢一楼的指导,很好可以执行,plsqldeveloper不在卡了 非常感谢一楼楼主, 也感谢二楼的回答,只是与我的需求不符,不过以后可能会遇见这种情况谢谢二楼楼主 直接 sqlplus ,不要PLSQL, 数据量太大。 sql别名无效 如何启动几个工作负载会话 设计一个数据校验?大家来看看 指定为连接标识符的 Net 服务名太长 Oracle连接问题 请问如何用ddl修改oracle的表中某个字段的名字呀? 为什么PL/SQL用一段时间就会断线? 谁有oracle9.2的客户端程序? oracle 数据迁移问题? ORA-01100 求助一个函数实现方法 在vsphere中,作为oracle 10g rac节点的两台虚拟机,每做快照都会自动重启
可以在命令行 使用 @c:\1.sql; 来调用你的脚本
PreparedStatement stmt = conn.prepareStatement("INSERT INTO Users VALUES(?,?,?)");
User[ ] users = ...;
for(int i=0; i<users.length; i++) {
stmt.setInt(1, users[i].getName());
stmt.setInt(2, users[i].getAge());
stmt.setInt(3, users[i].getShape());
stmt.addBatch();
}
int[ ] counts = stmt.executeBatch();
batch-size 不要设置的太小。