【问题标题】:Are there any free tools to generate 'INSERT INTO' scripts in MS SQL Server? [closed]是否有任何免费工具可以在 MS SQL Server 中生成“INSERT INTO”脚本? [关闭]
【发布时间】:2013-09-04 15:30:29
【问题描述】:

在使用 SQL Server 时,我唯一没有自动化工具的程序是可以创建 INSERT INTO 脚本的程序。我不是很需要它,所以我不会花钱买它。我只是想知道是否有任何东西可以用来在给定现有数据库的情况下生成 INSERT INTO 脚本而无需花费大量资金。

我搜索了 SQL Server Management Studio Express,但没有找到这样的功能。如果它存在于 SSMSE 中,那么我从未找到它。

【问题讨论】:

  • 这信息太少了。你是从什么生成插入脚本的?
  • 这个问题对我很有用。我很高兴有人问,甚至比有人给出正确答案更快乐

标签: sql sql-server


【解决方案1】:

这个网站有很多有用的脚本,包括generating inserts

您可以使用sp_msforeachtable 来生成整个数据库。

更新:在 SQL Server Management Studio 2008(更高版本)中,内置了将数据脚本化为 INSERT 的功能。

SQL Server 2008

在 SSMS 中右键单击您的数据库,选择 Tasks –> Generate Scripts,确保您的数据库突出显示,然后单击下一步。将选项列表向下滚动到“表/视图选项”部分,并将“脚本数据”更改为 True。

SQL Server 2012

在 SSMS 中右键单击您的数据库,选择 Tasks –> Generate Scripts。选择要为其生成脚本插入的表,然后单击Next。选择要将输出发送到的位置(例如新的查询窗口),然后单击Advanced 按钮(出于某种原因,它位于“保存到文件”部分!)。向下滚动选项列表到“脚本的数据类型”选项,并将其更改为“仅数据”或“架构和数据”。点击Next两次。

【讨论】:

【解决方案2】:

您还可以将此加载项用于提供此功能的 SSMS: http://www.ssmstoolspack.com/

它还提供其他有用的功能。

【讨论】:

  • +1。我今天需要这样做,SSMS 工具包效果很好。感谢您的信息。
  • 刚下载,看起来很方便。
  • 这不是免费的
【解决方案3】:

有一个名为“sp_generateinserts”的存储过程,你可以用谷歌搜索它。它将获取一个表并将其转换为插入语句。

【讨论】:

    【解决方案4】:

    不确定 SMSS 的快速版而是普通版,您可以右键单击选项卡并将表格编写为选择,将更新插入新窗口、剪贴板或文件。

    您还可以将 MyGeneration 或 CodeSmith 视为代码生成器。我相信它们是免费的,应该有一些模板,给定一个数据库会为你创建一堆存储过程。

    【讨论】:

      【解决方案5】:

      如果您只是想插入测试数据,并且要插入的行数少于 64K,则可以使用 Excel(我就是这样做的)。

      例如,如果您在单元格 A1、B1 和 C1 中输入值,然后在 D1 中输入以下公式,您将得到一个可用的插入语句:

      ="INSERT INTO TEST (col1, col2, col3) VALUES ("&a1&","&b1&","&c1&");"

      然后只需填写,您可以随时修改数据。

      【讨论】:

        【解决方案6】:

        知道这一点的人不多,但您可以使用 sub sonic (http://subsonicproject.com/) 编写数据库结构和其中的数据的脚本。

        命令非常简单(我使用命令行)例如。

        sonic.exe scriptdata /server testserver /db testdb .

        这将为您将所有数据编写到插入语句中:),既漂亮又干净。如果您想让它更容易而不使用命令行,您还可以将其挂接到 Visual Studio。

        【讨论】:

          【解决方案7】:

          试试 DBSourceTools。 http://dbsourcetools.codeplex.com
          它可以为数据库中的任何表生成插入脚本。

          【讨论】:

            【解决方案8】:
            【解决方案9】:

            您可以从此存储过程生成插入语句。 http://raresql.com/2011/12/20/how-to-generate-insert-statements-from-table-data-using-sql-server/ 但通常我们会生成这样的插入语句:

                Insert into [table] (...) values (...)
            

            但是,在这个过程中,你可以像这样生成插入语句

                Insert into [table]
                select * from [table] Union ALL
                select * from [table]
            

            所以,你可以在插入前查看数据。

            伊姆兰

            【讨论】:

              【解决方案10】:

              在 SQL Server Management Studio Express 中,右键单击对象资源管理器侧栏中的表,然后选择“将表编写为/插入到/新建查询编辑器窗口”。

              【讨论】:

              • 这不会为表格的内容编写脚本。
              • 这个答案不是答案:它是完全错误的。请删除。 (我已标记为不是答案,而是他们智慧的主持人,拒绝了它)
              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-05-25
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2010-09-15
              • 1970-01-01
              相关资源
              最近更新 更多