首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL导入/导出数据

SQL导入/导出数据
EN

Stack Overflow用户
提问于 2015-04-27 13:07:40
回答 2查看 284关注 0票数 0

我有一个Windows窗体应用程序链接到一个包含大量表的数据库。

我有两个按钮(导入和导出),当单击导出时,这应该会触发一个存储过程,该存储过程只生成一个字符串来导出数据(加载INSERT语句--而不是表定义)。由此生成的字符串将保存为脚本文件。这以后将用于将数据导入到不同的数据库中。

我正在考虑创建一个存储过程来完成这个任务(但我不完全确定如何做到这一点),或者如果有更好的方法,我愿意接受任何建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-04-27 13:41:38

使用Management生成脚本。

右键单击对象资源管理器中的数据库,从上下文菜单中选择“任务”,然后选择“生成脚本”。

在对话框中,选择要从脚本中输出数据的表。在下一页上设置目标,然后单击“高级”按钮。有找到“类型的数据脚本”选项-选择“数据只”。

按照编辑的问题,您可以使用Microsoft.SqlServer.Management.Smo.Scripter (与SSMS使用的库相同)来自动编辑。

票数 0
EN

Stack Overflow用户

发布于 2015-04-27 13:47:58

如果您想要生成一个将为您生成insert语句的脚本,您可以使用一个查询来构建它,如.

代码语言:javascript
运行
复制
SELECT 
    'SELECT ' + CAST(ID AS VARCHAR(10)) + ',''' + 
        VarcharField1 + ''',''' + 
        VarcharField2 + ''' UNION ALL'
FROM Example

如果将结果显示为文本(Ctrl+T),则可以轻松地获取结果以进行进一步操作。它会产生这样的东西..。

代码语言:javascript
运行
复制
SELECT 1,'Row1Field1','Row1Field2' UNION ALL
SELECT 2,'Row2Field1','Row2Field2' UNION ALL
SELECT 3,'Row3Field1','Row3Field2' UNION ALL
SELECT 4,'Row4Field1','Row4Field2' UNION ALL

您需要在结果之前添加一个INSERT [TableName],并修剪最后一个UNION ALL,但这是可行的。我以前用过好几次了。SQL示例

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29896750

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档