【发布时间】:2014-10-13 15:40:25
【问题描述】:
我目前正在将两个数据库合并在一起工作,我正在使用 Excel 生成我的 INSERT 语句。我使用 Excel 的原因是因为我有 1500 多条记录,我不想为这些记录编写那么多 INSERT 语句。我会给你一些关于我的设置的背景:
如您所见,我正在上面的屏幕截图中设置我的 INSERT 语句。完成后将如下所示:
INSERT INTO "database name"("columns")
VALUES("values")
在我在上面的屏幕截图中描绘的行下方,我有大约 1500 多行和 50 多列。正如你所看到的,除了 INSERT 语句的值部分之外,我都设置好了。为了进行设置,我使用 CONCATENATE 从我的第一行中获取所有值以完成我的第一个插入语句。这是我遇到一些麻烦的地方。
要使我的 INSERT 语句正常工作,我的单元格值需要采用以下格式:
"00064","PPMeetME","test","test" 等等。但是,如果您查看上面用红色圈出的屏幕截图,我无法将数据限制为这种格式。我尝试了各种不同的字符放置,我不确定它是否能够完成,但有没有办法设置我的 CONCATENATE 语句,让它看起来像我刚才提到的那样?
(例如:"00064","PPMeetMe","00001","Test" 而不是 "00064,PPMeetMe,00001,Test")
如果有任何不清楚的地方,请告诉我,我会尝试进一步澄清。任何帮助是极大的赞赏。
谢谢!
-戴夫
【问题讨论】:
-
您以什么形式获取这些数据?是文本文件吗?如果是这样,为什么不使用导入向导?它来自其他数据库吗?如果是这样,为什么不使用插入选择?
-
我基本上只是从我的一个数据库中复制数据并将其粘贴到 Excel 电子表格中。我这样做的理由是,如果我可以正确设置 Values 列,我可以简单地将列向下拖动,它会负责为 1500 多行中的每一行设置我的插入语句。这有意义吗?
-
并非如此,如果您只是想将一个数据库复制到另一个数据库,那么有很多方法不需要手动操作 excel 文件。
-
使用导入向导并让数据源成为其他数据库中的表。您可能必须编辑映射以确保您不会过度编写约束等,但它是一种更可靠的 IMO 方式。
-
您为什么不使用 SSIS 将数据从一个数据库传输到另一个数据库?不会将数据传输到 Excel,您可以使用映射功能不仅决定哪些表接收哪些数据,还可以决定哪些列进入哪些列。右键单击目标中的数据库,选择tasks,然后选择Import data
标签: sql excel insert sql-insert