我正在尝试将具有3个工作表的excel文件导入到表中。对于其中一列,我想根据它来自哪个工作表来更改填充的值。有没有办法用Toad Import做到这一点。工作表看起来相同,并具有相同的列。但是,如果是工作表1,则我希望某个列为ABC,如果工作表2 XYZ,则我希望某列为ETC。有办法吗?
答案 0 :(得分:0)
我经常加载Excel文件,但是我没有注意到这样的选择。因此,我再次逐步查看装载机,仔细检查了它所提供的内容-不,没有类似的东西。
一种非常简单的解决方法是编辑Excel文件并创建该列。然后
另一种选择是设置列的默认值,例如
alter table test modify ident varchar2(3) default 'abc';
您必须为每个加载的表格执行此操作,将'abc'修改为'def'等。
或者,如果您切换到SQL * Loader(与“导入表数据”在同一菜单中有该选项),请创建一个使用CONSTANT
关键字的控制文件,例如
load data
infile excel.csv
append
into table test
fields terminated by ',' optionally enclosed by '"'
(name,
value,
ident constant "abc"
)
就像以前的情况一样,您必须在加载每个工作表的数据之前修改常数值。
此外,请注意,SQL * Loader无法加载XLS文件-您必须先将每张工作表保存到其自己的.csv文件中。
我会选择哪个选项?可能是第一个;似乎是最简单,最快的。