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

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

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

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

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

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


当前回答

正如@Mike Ritacco提到的,但已为SSMS 2008 R2更新

右键单击数据库名称 选择任务>生成脚本 根据您的设置,介绍页面可能会显示或不显示 选择“选择特定的数据库对象”, 展开树视图并检查相关表 单击Next 单击高级 在“常规”部分,为“要脚本的数据类型”选择适当的选项 完成向导

然后,您将直接从SSMS中获取数据的所有INSERT语句。

SQL Server 2016/SSMS 13.0.159001

Right click on the database name Choose Tasks > Generate scripts Depending on your settings the intro page may show or not Choose 'Select specific database objects', Expand the tree view and check the relevant tables Click Next Click Advanced Under General section, choose the appropriate option for 'Types of data to script' Click OK Pick whether you want the output to go to a new query, the clipboard or a file Click Next twice Your script is prepared in accordance with the settings you picked above Click Finish

其他回答

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

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

我也研究了很多关于这个问题,但我无法得到具体的解决方案。目前我遵循的方法是从SQL Server management studio复制excel中的内容,然后将数据导入到Oracle-TOAD中,然后生成插入语句

你可以随心所欲地把它变得困难或简单。我更喜欢后者。

如果你已经有一个数据集,你所要做的就是在MS Access中添加一个动作查询:

insert into Table1("column list here")从Table2中选择"column list here"

注意:Table2可以是一个查询表,Table1和Table2可以是一个MS Access表或Sql Server表

微软应该宣传SSMS 2008的这个功能。您正在寻找的特性内置于Generate Script实用程序中,但是该功能在默认情况下是关闭的,并且在编写表脚本时必须启用。

这是一个快速运行,为您表中的所有数据生成INSERT语句,不使用SQL Management Studio 2008脚本或插件:

右键单击数据库,转到Tasks > Generate Scripts。 选择要针对其生成脚本的表(或对象)。 转到设置脚本选项选项卡,然后单击高级按钮。 在“常规”类别中,转到“脚本的数据类型” 有3个选项:仅模式、仅数据和模式和数据。选择适当的选项并单击OK。

然后,您将直接从SSMS中获取数据的CREATE TABLE语句和所有INSERT语句。

这也可以使用Visual Studio完成(至少在2013年版本开始)。

在VS 2013中,也可以过滤insert语句所基于的行列表,据我所知,这在SSMS中是不可能的。

请执行以下步骤:

Open the "SQL Server Object Explorer" window (menu: /View/SQL Server Object Explorer) Open / expand the database and its tables Right click on the table and choose "View data" from context menu This will display the data in the main area Optional step: Click on the filter icon "Sort and filter data set" (the fourth icon from the left on the row above the result) and apply some filter to one or more columns Click on the "Script" or "Script to File" icons (the icons on the right of the top row, they look like little sheets of paper)

这将为活动窗口或文件的所选表创建(有条件的)插入语句。

Visual Studio 2013:滤镜和脚本