从Rhino,我运行以下脚本:
var SQLstatement = connection.createStatement();
query = "INSERT INTO TableName(ID, Name, Date) VALUES ('1234', 'John Smith', '2012-05-24')";
for (var i = 0; i <= 1500; i++)
{
SQLstatement.executeUpdate(query);
}我所要做的就是将上面查询中列出的值的1500倍插入到SQL表中。
但是,由于SQL中的限制,该语句只插入1000条记录。有办法插入所有1500条记录吗?我不喜欢使用任何文本文件,并选择大容量插入。
发布于 2014-12-11 02:04:56
没有什么可以将您限制为1000个插入,因此它听起来与提交相关。尝试以下选项:
发布于 2014-12-11 01:56:41
不如换一种方法--只运行一次sql语句。这将创建一个cartesian product,它在一条语句中创建1500个记录。
INSERT INTO TableName(ID, Name, Date)
SELECT '1234', 'John Smith', '2012-05-24'
FROM (SELECT 1 rn UNION SELECT 2) t, (SELECT 1 rn union SELECT 2) t2,
(SELECT 1 rn union SELECT 2) t3, (SELECT 1 rn union SELECT 2) t4,
(SELECT 1 rn union SELECT 2) t5, (SELECT 1 rn union SELECT 2) t6,
(SELECT 1 rn union SELECT 2) t7, (SELECT 1 rn union SELECT 2) t8,
(SELECT 1 rn union SELECT 2) t9, (SELECT 1 rn union SELECT 2) t10,
(SELECT 1 rn union SELECT 2) t11, (SELECT 1 rn union SELECT 2) t12
LIMIT 1500发布于 2014-12-11 01:53:07
Domt知道您面临的问题是什么,这样1500条记录就不会单次插入,但是如果有什么东西将循环划分为2,1:- 0到999,然后1000到1500。
(只是示例概念,而不是实际代码)
BEGIn TRAN
for (var i = 0; i <= 999; i++)
{
SQLstatement.executeUpdate(query);
}
COMMIT
BEGIn TRAN
for (var i = 1000; i <= 1500; i++)
{
SQLstatement.executeUpdate(query);
}
COMMIThttps://stackoverflow.com/questions/27413993
复制相似问题