使用SSMS或VS 2012生成过滤的INSERT语句

时间:2013-10-15 21:20:53

标签: sql-server visual-studio ssms

是否可以仅使用Management Studio或Visual Studio为SQL Server记录生成单独的INSERT语句?

您可以“生成脚本”来获取SSMS中整个表的数据,但不只是单行或过滤的行集。

在Visual Studio 2012中,如果在SQL Server对象资源管理器中选择表数据,则会得到一个“脚本”按钮,该按钮为网格结果生成插入语句,即200,1000或“所有”记录 - 但我找不到像“SSMS”那样的“WHERE”过滤器。

我有什么诡计吗? SSMS或VS都会很棒 - 理想情况下我可以过滤特定的行或行集,然后专门为这些行生成INSERT语句。

有SSMS Toolpack,RedGate,Toad,我确信其他一些付费产品可以做到这一点,但我希望有一些内置方式。

(这个问题has been addressed before,但我能找到的只是2012年之前,所以也许从那时起就引入了一些东西。)

2 个答案:

答案 0 :(得分:1)

是 - 使用Generate Scripts Task。

在对象资源管理器窗口中右键单击数据库。然后选择“任务”和“生成脚本”。

选择要编写脚本的对象,然后单击“下一步”。然后单击“高级”并转到“脚本数据类型”。选择“仅数据”或“架构和数据”(这些选择将构建插入语句)。

听起来你已经知道了这一点,我不知道有什么方法可以对生成的内容应用过滤器。

这是我在SqlServerCentral上找到的脚本。虽然这是为sql server 2k构建的,但值得一看:

http://vyaskn.tripod.com/code/generate_inserts.txt

答案 1 :(得分:0)

可能这个答案为时已晚,那些最近开始使用2012的人会有所帮助。

在VS 2012中,转到SQL Server对象资源管理器。选择数据库,然后列出该数据库中的表。然后选择要创建的脚本的特定/特定表。然后右键单击该表并选择ViewData选项。然后在显示/结果网格的顶部,右边的Maxrow,你可以看到两个图标。两者都在生成脚本。一个在屏幕上,另一个在文件中。