我在内存中有一个数组,我需要将它们放在临时表中,这样我就可以加入其他表了。列表可以是5,也可以是250000。 我可以一次做一个插入,但我想知道是否有任何sql技巧,我可以一次插入100一些插入到select ....这种我没想到的事情。
批量上传器(在sybase中)不是一个选项,因为它没有java实现,并且也不能选择shell到bcp。
答案 0 :(得分:3)
尝试JDBC批量插入。我从未使用过Sybase,但它也适用于MySql,Postgres和Oracle。
Statement stmt = con.createStatement();
stmt.addBatch("INSERT INTO employees VALUES (1000, 'Joe Jones')");
stmt.addBatch("INSERT INTO departments VALUES (260, 'Shoe')");
stmt.addBatch("INSERT INTO emp_dept VALUES (1000, 260)");
// submit a batch of update commands for execution
int[] updateCounts = stmt.executeBatch();
http://download.oracle.com/javase/1.3/docs/guide/jdbc/spec2/jdbc2.1.frame6.html