(SQL Server 2005)管理大量插入语句的好方法?

时间:2010-09-23 16:03:41

标签: sql sql-server sql-server-2005 tsql insert

我有一个存储过程,它接受一个表名并写出一系列INSERT语句,每个表对应一行。它被用来为我们的测试环境提供样本,“真实世界”的数据。

它运行良好,但其中一些示例行集是10,20k记录。存储过程使用PRINT语句将它们写出来,很难复制那么多行并将它们粘贴到管理工作室来运行它们。是否有我可能能够使用的SQL重定向功能,可能是将此输出写入表并循环并以这种方式运行每个语句?只是一个想法。

我想在管理工作室内完成这一切,而不必编写C#程序来创建数据集并循环它等等。我基本上是在寻找一个好方法的建议。非常感谢。

2 个答案:

答案 0 :(得分:2)

使用EXEC

PRINT @INSERT_statement
 EXEC @INSERT_statement

...运行查询。

但我建议您查看批量插入以加快数据加载速度:

答案 1 :(得分:1)

您的存储过程在哪里获取此数据?

您可能希望将其作为表导入,然后针对该插入的表运行存储过程。 SQL Server Management Studio有许多导入数据的选项。

如果您的存储过程正在生成数据 - 那么这是另一个问题。