【发布时间】:2018-06-06 18:08:56
【问题描述】:
我想将数据以csv文件的形式导入到一个表中。[使用Oracle SQL developer]。我有这么一百个文件,每个文件大约有50列。
来自 SQL*Loader 的 wiki (http://www.orafaq.com/wiki/SQL*Loader_FAQ)
load data
infile 'c:\data\mydata.csv'
into table emp
fields terminated by "," optionally enclosed by '"'
( empno, empname, sal, deptno ) //these are the columns headers
我不想做的是列出所有列标题。我只想将 csv 文件中的所有条目按照它们出现的顺序分配给表中的成员。
而且毕竟我认为我想为所有 100 个文件自动化它。
【问题讨论】:
-
写东西可能比手动写要花更长的时间。只需将 CSV 文件中的标题复制并粘贴到代码中,您需要做的就是添加逗号。
-
如果您不想分配字段名称,则文件中每条记录中的字段数必须与表中的字段数相同。您使用的是什么操作系统? UNIX 或 unix 工具包可以用最少的编码工作来做到这一点。
-
@jimmcnamara ,是的,没有相同的。记录文件和表格中的字段。我正在使用 Windows
-
在这样的情况下(行数很少,我认为它是一次性的)我使用 excel。打开 CSV 文件,另存为 xls,然后为每一行构建一个插入语句,引用列中的数据。用分号结束每一行,剪切并粘贴到您最喜欢的数据库工具中,然后点击运行按钮。您可以使用一些 vb 脚本自动执行 100 个文件。总之,我发现它通常比使用块导入器更简单。
标签: sql oracle sql-loader