我们正在编写一个新的应用程序,在进行测试时,我们将需要一堆虚拟数据。我已经通过使用MS Access将excel文件转储到相关表中添加了这些数据。

每隔一段时间,我们想要“刷新”相关的表,这意味着将它们全部删除,重新创建它们,并运行已保存的MS Access追加查询。

第一部分(删除和重新创建)是一个简单的sql脚本,但最后一部分让我畏缩。我想要一个单独的设置脚本,它有一堆insert来重新生成虚拟数据。

我现在有数据在表格里。从该数据集自动生成一个大的INSERT语句列表的最佳方法是什么?

我能想到的唯一方法是将表保存到excel表格中,然后编写excel公式为每一行创建一个INSERT,这肯定不是最好的方法。

我使用2008 Management Studio连接到SQL Server 2005数据库。


当前回答

不确定,如果我没理解错的话。

如果你有数据在MS-Access,你想把它移动到SQL Server -你可以使用DTS。 而且,我猜你可以使用SQL分析器来查看所有的INSERT语句。

其他回答

GenerateData是一个很棒的工具。对它进行调整也很容易,因为源代码是可用的。一些不错的功能:

用于人名和地名的名称生成器 能够保存生成配置文件(在本地下载和设置后) 能够通过脚本自定义和操作生成 数据的许多不同输出(CSV, Javascript, JSON等)(以防您需要在不同的环境中测试集,并希望跳过数据库访问) 免费的。但如果你觉得软件有用,可以考虑捐赠:)。

您可以使用SSMS Tools Pack(适用于SQL Server 2005和2008)。它带有一个生成插入语句的特性。

http://www.ssmstoolspack.com/

我使用sqlite来做到这一点。我发现它对于创建scratch/test数据库非常非常有用。

sqlite3 foo。Sqlite .dump > foo_as_a_bunch_of_inserts.sql

也许你可以试试SQL Server发布向导 http://www.microsoft.com/downloads/details.aspx?FamilyId=56E5B1C5-BF17-42E0-A410-371A838E570A&displaylang=en

它有一个向导,帮助您编写插入语句。

你可以用我几年前写的这个简单而免费的应用程序生成INSERT或MERGE语句: 数据脚本编写器(Windows桌面应用程序)

此外,我最近还写了一篇关于这些工具以及利用SSDT部署数据数据库的方法的博客文章。了解更多信息: 从SSDT项目为数据库编写脚本并部署数据