在使用SQL Server时,我唯一没有自动化工具的是可以创建INSERT INTO
脚本的程序。我并不急需它,所以我不打算花钱。我只是想知道是否有任何东西可用于生成INSERT INTO脚本给定现有数据库而不需要花费很多钱。
我已经通过SQL Server Management Studio Express搜索,但没有找到这样的功能。如果它存在于SSMSE中,那么我从未找到它。
答案 0 :(得分:19)
此网站包含许多有用的脚本,包括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
。选择要为其生成脚本化INSERT的表,然后单击Next
。选择要将输出发送到的位置(例如新的查询窗口),然后单击Advanced
按钮(由于某种原因,它位于“保存到文件”部分!)。将选项列表向下滚动到“脚本数据类型”选项,并将其更改为“仅数据”或“架构和数据”。点击Next
两次。
答案 1 :(得分:16)
您还可以将此加载项用于提供此功能的SSMS: http://www.ssmstoolspack.com/
它还提供其他有用的功能。
答案 2 :(得分:4)
有一个名为“sp_generate_inserts”的存储过程,你可以谷歌搜索它。它将采用一个表并将其转换为插入语句。
答案 3 :(得分:1)
不确定快速版本,但正常版本的SMSS,您可以右键单击选项卡并将表格编写为选择,将更新插入新窗口,剪贴板或文件。
您还可以将MyGeneration或CodeSmith视为代码生成器。我相信它们是免费的,并且应该有soem模板,给定DB会为你创建一堆存储过程。
答案 4 :(得分:1)
如果您只想插入测试数据,并且要插入的行数少于64K,则可以使用Excel(这就是我所做的)。
例如,如果将值放在单元格A1,B1和C1中,然后在D1中输入以下公式,则会得到一个可用的插入语句:
=“INSERT INTO TEST(col1,col2,col3)VALUES(”& a1&“,”& b1&“,”& c1&“);”
然后只需填写,您就可以随时修改数据。
答案 5 :(得分:0)
在SQL Server Management Studio Express中,右键单击对象资源管理器侧栏中的表,然后选择“脚本表为/ INSERT到/新查询编辑器窗口”。
答案 6 :(得分:0)
没有多少人知道这一点,但您可以使用sub sonic(http://subsonicproject.com/)来编写数据库结构及其中的数据。
命令非常简单(我使用命令行),例如。
sonic.exe scriptdata / server testserver / db testdb。
这会将所有数据编写成插入语句:),很好,干净。如果你想让它变得更容易而不使用命令行,你也可以将它挂钩到visual studio。
答案 7 :(得分:0)
尝试DBSourceTools。 http://dbsourcetools.codeplex.com
它具有为数据库中的任何表生成插入脚本的功能。
答案 8 :(得分:0)
Microsoft有一个可以安装的免费应用程序。
http://www.microsoft.com/downloads/en/results.aspx?freetext=Microsoft+SQL+Server+Database+Publishing+Wizard&displaylang=en&stype=s_basic download here
答案 9 :(得分:0)
您可以从此存储过程生成insert into语句。 http://raresql.com/2011/12/20/how-to-generate-insert-statements-from-table-data-using-sql-server/ 但通常我们会像这样生成insert into语句:
Insert into [table] (...) values (...)
但是,在此过程中,您可以像这样生成insert into语句
Insert into [table]
select * from [table] Union ALL
select * from [table]
因此,您可以在插入之前查看数据。
姆兰