【问题标题】:Create an insert script from select results从选择结果创建插入脚本
【发布时间】:2012-01-10 14:55:45
【问题描述】:

使用 SQL Server Management Studio 有没有一种方法可以在选择结果网格中选择一个或多个行,并让 SQL Server Mangement Studio 生成一个或多个插入语句(每行一个),该语句会将数据插入具有相同架构的表?

编辑:我知道如何手动创建一个,但我希望有一些东西可以为我自动创建它。如果您熟悉 Toad,有一种方法可以让 Toad 根据结果窗格中的数据生成插入,我希望 SSMS 具有等效的功能。

【问题讨论】:

标签: ssms


【解决方案1】:

尝试将查询结果保存到一次性表中。

例如:

SELECT * INTO disposable_customer_table FROM customer_table WHERE id IN(在某个范围内

然后做一个 db -> 任务 -> 生成脚本。

  • 选择特定的数据库对象。
  • 从表名列表中选择disposable_customer_table
  • 选择保存到文件。
  • 确保进行高级设置并从“脚本的数据类型”中选择“仅数据”。

调整结果文件并将 disposable_customer_table 重命名为原始表名。

清理并删除 disposable_customer_table

【讨论】:

    【解决方案2】:
     select 'insert into tableB values (', tableA.x ,',',tableA.y,',',tableA.z,')' from tableA
    

    【讨论】:

      【解决方案3】:

      我认为你有两个选择:

      1. 手动创建插入。例如:

        select Name, Surname,
          'insert into Person (Name,surname) values ('''+Name+''','''+Surname+')'
          from Person
        

        这将为您提供结果,并在最后一列中为该行提供插入脚本。然后,您可以在编辑器窗口中选择并粘贴它。

      2. 右键单击数据库 -> 任务 -> 生成脚本。然后按 Advance 并选择“Data Only”(默认为 Schema Only)。

      【讨论】:

        【解决方案4】:

        执行查询并右键单击结果视图中列标题与行号相接的空白区域。

        然后您可以选择脚本网格结果

        【讨论】:

        • 您使用的是什么版本的 ssms?我使用的是 2012,但没有看到 SCRIPT GRID RESULTS 或 SEARCH GRID RESULTS 选项。
        • 我也没有。我认为该功能是由插件提供的。 OP?
        • 这是由SSMS Tools Pack完成的,不幸的是SMSS 2012版本不是免费的
        猜你喜欢
        • 2016-11-20
        • 2017-08-30
        • 2011-05-30
        • 1970-01-01
        • 2021-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-07
        相关资源
        最近更新 更多