为SQLServer表自动生成INSERT语句的最佳方法是什么?


为SQLServer表自动生成INSERT语句的最佳方法是什么?

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

我们经常希望“刷新”相关表,这意味着删除所有表,重新创建表,并运行保存的MS Access附加查询。

第一部分(删除和重新创建)是一个简单的SQL脚本,但最后一部分让我感到畏缩。我想要一个具有一串插入的安装脚本来重新生成虚拟数据。

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

我能想到的唯一方法就是将表保存到Excel工作表中,然后编写Excel公式为每一行创建一个插入,这肯定不是最好的方法。

我正在使用2008 ManagementStudio连接到SQLServer 2005数据库。


长风秋雁
浏览 1565回答 3
3回答

慕桂英3389331

微软应该宣传SSMS 2008的这一功能。您要查找的功能内置在生成脚本实用程序,但该功能在默认情况下被关闭,并且必须在编写表脚本时启用。这是一个快速运行以生成INSERT表中所有数据的语句,不使用脚本或SQLManagementStudio 2008的外接程序:右键单击数据库并转到任务 > 生成脚本.选择要对其生成脚本的表(或多个对象)。去设置脚本选项选项卡并单击先进纽扣。在一般类别,转到要脚本的数据类型有三种选择:仅模式, 仅数据,和模式和数据..选择适当的选项并单击好的.然后你会得到CREATE TABLE语句和所有INSERT直接从SSM中提取数据的语句。

慕娘9325324

我们使用这个存储过程-它允许您以特定的表为目标,并使用WHERE子句。你可以找到文本这里.例如,它允许您这样做:EXEC sp_generate_inserts 'titles'

白板的微信

如@Mike Ritaco所述,但已更新为SSMS 2008 R2右键单击数据库名称选择任务>生成脚本根据您的设置,介绍页面可能显示或不显示。选择“选择特定的数据库对象”,展开树视图并检查相关表。单击Next单击“高级”在“常规”部分下,为“数据类型脚本”选择适当的选项完成向导然后,您将直接从SSM获取数据的INSERT语句。右键单击数据库名称选择任务>生成脚本根据您的设置,介绍页面可能显示或不显示。选择“选择特定的数据库对象”,展开树视图并检查相关表。单击Next单击“高级”在“常规”部分下,为“数据类型脚本”选择适当的选项单击OK选择是否希望输出转到新查询、剪贴板还是文件单击Next两次您的脚本是根据您选择的上述设置编写的。单击Finish
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server