在SQL Server 2005中,有没有办法可以从包含多行的表创建INSERT脚本?很多时候,在开发过程中,我需要删除表并重新创建它。我最终不得不手动添加之前存在的行。我在删除表之前使用了SELECT FOR XML AUTO,但在将行插入新表之前仍需要一些手动干预。
答案 0 :(得分:8)
抓住SSMS Tools Pack,它有一堆附加到SQL Server Management Studio。其中一个包括INSERT脚本生成,它应该在您的小巷中。
答案 1 :(得分:2)
SELECT 'insert into table1 (fielda,fieldb,fieldc) values (''' + fielda + ''',''' + fieldb + ''',''' + fieldc + ''')' AS InsertCmd
FROM table1
答案 2 :(得分:2)
另一个需要考虑的工具是MS Database Publishing Wizard。它更适用于大规模数据库导出,但它还包括SQL生成向导。
答案 3 :(得分:1)
我推荐MyGeneration。它是免费的代码生成工具,它有一个模板来从数据库生成插入。您可以选择单个或多个表。
另一种方法稍微复杂一点,但不需要额外的工具。您可以将数据导出到另一个数据库,然后在重新创建测试数据库时使用导入/导出任务将其导回。您可以将导入任务保存为SSIS包,这样您就可以反复运行pacakge。
答案 4 :(得分:0)
使用数据库的“任务”菜单中的“导入/导出数据”选项。然后,您可以编写表,脚本和其他数据库对象的脚本。
答案 5 :(得分:0)