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

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

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

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

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

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


当前回答

为了获得带有过滤记录的INSERT语句(WHERE QUERY),您可以

右击表脚本表>创建到>新的查询 用temp_table重命名 现在运行 选择到temp_table从你的第一个表,现在你的标准在这里

这样你的临时表将只有你想要的记录, 现在通过运行由@Mike Ritacco with DATA ONLY解释的脚本向导,您将得到确切的插入语句。

其他回答

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

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

为了获得带有过滤记录的INSERT语句(WHERE QUERY),您可以

右击表脚本表>创建到>新的查询 用temp_table重命名 现在运行 选择到temp_table从你的第一个表,现在你的标准在这里

这样你的临时表将只有你想要的记录, 现在通过运行由@Mike Ritacco with DATA ONLY解释的脚本向导,您将得到确切的插入语句。

如果您更愿意使用谷歌表,请使用SeekWell将表发送到表中,然后在日程表上插入行,因为它们被添加到表中。

请参见这里的逐步过程,或在这里观看该功能的视频演示。

生产数据库中有数据吗?如果是这样,您可以通过DTS设置数据的周期刷新。我们每周都在周末进行测试,每周都有干净、真实的测试数据是非常好的。

如果你还没有生产,那么你应该创建一个他们想要的数据库(新鲜的)。然后,复制该数据库并使用新创建的数据库作为您的测试环境。当你想要一个干净的版本时,只需再复制一遍干净的版本,就可以了。

为什么不只是在使用数据之前备份数据,然后在需要刷新数据时进行恢复呢?

如果必须生成插入,请尝试:http://vyaskn.tripod.com/code.htm#inserts