我正在寻找有关SQL Server中每个插入限制为1000行的解决方法的任何建议。
我有一个MySQL转储脚本,它只有几百行,每行是一个插入语句,其中包含大约7000行。
由于每个插入的行数限制为1000,因此我无法将其直接插入SQL Server。
是否有任何“简便”的解决方法,或者只有一种方法是以编程方式识别行并为每行创建插入?
答案 0 :(得分:0)
要完全按照要求正确地回答您的问题,在SQL接口内没有一种方法可以克服INSERT限制。您将需要创建一个编程解决方案。我在评论中列出了一些技术,例如Python,PowerShell和.NET。您可以使用BCP,BULK INSERT,SSIS或其他BI工具将解决方案粘贴在一起。以下是一些有关C#的链接,它们涉及批量插入大型数据集:
Insert 2 million rows into SQL Server quickly
Bulk inserting with SQL Server (C#)
也有一个类似的问题问,这里接受的答案建议使用SQL Server导入向导:
答案 1 :(得分:0)
您可以尝试UNION ALL SELECT
技巧进行插入,因为它只有7000行,并且不会出现性能问题。
INSERT INTO Table1 (ValueA, ValueB)
SELECT 1, 2
UNION ALL SELECT 3,4
UNION ALL SELECT 5,6;
这样,您将没有1000行限制的VALUES子句。
Stackoverflow post中提到了另一种方法,其中每个INSERT INTO TABLE
语句都有INSERT
。