【发布时间】:2009-01-21 17:24:57
【问题描述】:
在 SQL Server 2005 中,有没有一种方法可以从包含多行的表中创建 INSERT 脚本?很多时候,在开发过程中,我需要删除表并重新创建它。我最终不得不手动添加以前存在的行。我在删除表之前使用了 SELECT FOR XML AUTO,但在将行插入新表之前仍然需要一些手动干预。
【问题讨论】:
标签: sql-server-2005 import export
在 SQL Server 2005 中,有没有一种方法可以从包含多行的表中创建 INSERT 脚本?很多时候,在开发过程中,我需要删除表并重新创建它。我最终不得不手动添加以前存在的行。我在删除表之前使用了 SELECT FOR XML AUTO,但在将行插入新表之前仍然需要一些手动干预。
【问题讨论】:
标签: sql-server-2005 import export
获取SSMS Tools Pack,它有一堆 SQL Server Management Studio 的附加组件。其中之一包括一个 INSERT 脚本生成,它应该就在你的小巷里。
【讨论】:
SELECT 'insert into table1 (fielda,fieldb,fieldc) values (''' + fielda + ''',''' + fieldb + ''',''' + fieldc + ''')' AS InsertCmd
FROM table1
【讨论】:
另一个需要考虑的工具是MS Database Publishing Wizard。它更多地是为大规模数据库导出而设计的,但它还包括一个 SQL 生成向导。
【讨论】:
我推荐 MyGeneration。它是免费的代码生成工具,它有一个从数据库生成插入的模板。您可以选择单个或多个表。
另一种方法稍微复杂一些,但不需要额外的工具。您可以将数据导出到另一个数据库,然后在重新创建测试数据库时使用导入/导出任务将它们导入回来。您可以将导入任务保存为 SSIS 包,这样您就可以一次又一次地运行 pacakge。
【讨论】:
为您的数据库使用“任务”菜单中的“导入/导出数据”选项。然后,您可以编写表、存储过程和其他数据库对象的脚本。
【讨论】:
【讨论】: