为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

长风秋雁 2019-07-04 18:31:29
为SQLServer表自动生成INSERT语句的最佳方法是什么?我们正在编写一个新的应用程序,在测试时,我们需要一堆虚拟数据。通过使用MSAccess将EXCEL文件转储到相关表中,我添加了这些数据。我们经常希望“刷新”相关表,这意味着删除所有表,重新创建表,并运行保存的MS Access附加查询。第一部分(删除和重新创建)是一个简单的SQL脚本,但最后一部分让我感到畏缩。我想要一个具有一串插入的安装脚本来重新生成虚拟数据。我现在表格里有数据了。从该数据集自动生成大量INSERT语句的最佳方法是什么?我能想到的唯一方法就是将表保存到Excel工作表中,然后编写Excel公式为每一行创建一个插入,这肯定不是最好的方法。我正在使用2008 ManagementStudio连接到SQLServer 2005数据库。
查看完整描述

3 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

微软应该宣传SSMS 2008的这一功能。您要查找的功能内置在生成脚本实用程序,但该功能在默认情况下被关闭,并且必须在编写表脚本时启用。

这是一个快速运行以生成INSERT表中所有数据的语句,不使用脚本或SQLManagementStudio 2008的外接程序:

  1. 右键单击数据库并转到

    任务 > 生成脚本.

  2. 选择要对其生成脚本的表(或多个对象)。
  3. 设置脚本选项

    选项卡并单击

    先进

    纽扣。
  4. 一般

    类别,转到

    要脚本的数据类型

  5. 有三种选择:

    仅模式仅数据

    ,和

    模式和数据

    ..选择适当的选项并单击

    好的.

然后你会得到CREATE TABLE语句和所有INSERT直接从SSM中提取数据的语句。


查看完整回答
反对 回复 2019-07-04
?
慕娘9325324

TA贡献1783条经验 获得超4个赞

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

例如,它允许您这样做:

EXEC sp_generate_inserts 'titles'


查看完整回答
反对 回复 2019-07-04
?
白板的微信

TA贡献1883条经验 获得超3个赞

如@Mike Ritaco所述,但已更新为SSMS 2008 R2

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

然后,您将直接从SSM获取数据的INSERT语句。

  1. 右键单击数据库名称

  2. 选择任务>生成脚本

  3. 根据您的设置,介绍页面可能显示或不显示。

  4. 选择“选择特定的数据库对象”,

  5. 展开树视图并检查相关表。

  6. 单击Next

  7. 单击“高级”

  8. 在“常规”部分下,为“数据类型脚本”选择适当的选项

  9. 单击OK

  10. 选择是否希望输出转到新查询、剪贴板还是文件

  11. 单击Next两次

  12. 您的脚本是根据您选择的上述设置编写的。

  13. 单击Finish


查看完整回答
反对 回复 2019-07-04
  • 3 回答
  • 0 关注
  • 1557 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信