【问题标题】:How to generate script INSERT from result?如何从结果生成脚本 INSERT?
【发布时间】:2015-03-26 16:55:57
【问题描述】:

我在不同的 SQL Server 中有两个数据库,它们没有相互连接。 我想将我的第一个 DB (2008) 中的选定线插入到第二个 DB (2005) 中。 我想生成 INSERT 脚本,以便在 DB 2005 中执行它。

我找到了如何导出所有数据库,或一张表中的所有线条,但没有关于如何只导出选定的线条?

有什么想法吗?

【问题讨论】:

  • 这是一个持续的需求还是你只做一次?
  • 从您的 SELECT 中生成插入语句
  • @DanielE。从现在开始,这只是一个持续的需求......

标签: sql-server sql-server-2008 sql-server-2005 sql-server-2008-r2


【解决方案1】:

您可以使用 SQL Server 的内置功能:

1) 在 SSMS 中单击源数据库名称

3) 右键单击​​并选择任务/导出数据

4) 选择数据源,然后选择目标

5) 在标题为“指定表复制或查询”的窗口中单击“编写查询”以指定要传输的数据

6)点击下一步并输入查询(听起来你想要查询中的where子句来选择特定的行)

7) 单击下一步/选择目标,然后单击编辑映射。然后您可以选择“插入”,这些行将被插入到目标中的现有表中。

8) 您可以将其保存为 SSIS 包,以便在需要时重新运行。

【讨论】:

  • 谢谢@benjamin moskovits,你的步骤非常有用:)
  • 但正如@YY Bai 所说,我的 2 个数据库没有连接,所以我需要使用平面文件目的地。
  • 不幸的是我正在运行 SQLExpress,所以我无法保存我的 SSIS 包:-(
【解决方案2】:

我同意上面的答案,除了第 7 步)。 由于两台服务器未连接,因此在需要选择目标的步骤中,您需要选择“平面文件目标”或“microsoft excel”,而不是第二个 SQL 2005 DB。 您需要做的就是将查询结果导出到中间文件,然后从目标服务器导入文件。

【讨论】:

  • 欢迎来到 StackOverflow!快速说明:页面中答案的顺序发生了变化,因此参考“上面的答案”没有用处,尤其是在有很多答案的情况下。请参阅发帖人的用户名。
【解决方案3】:

T-SQL Flex 可能会为您执行此操作。这需要一个查询集并将其转换为 INSERT。

【讨论】:

  • 我去看看,好像很有意思;-)!
猜你喜欢
  • 2020-03-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-22
  • 1970-01-01
  • 1970-01-01
  • 2015-10-10
相关资源
最近更新 更多