Toad导入-根据数据来自哪个Excel工作表更改列值

时间:2019-04-03 11:36:23

标签: toad

我正在尝试将具有3个工作表的excel文件导入到表中。对于其中一列,我想根据它来自哪个工作表来更改填充的值。有没有办法用Toad Import做到这一点。工作表看起来相同,并具有相同的列。但是,如果是工作表1,则我希望某个列为ABC,如果工作表2 XYZ,则我希望某列为ETC。有办法吗?

1 个答案:

答案 0 :(得分:0)

我经常加载Excel文件,但是我没有注意到这样的选择。因此,我再次逐步查看装载机,仔细检查了它所提供的内容-不,没有类似的东西。

一种非常简单的解决方法是编辑Excel文件并创建该列。然后

  • 将ABC输入到该列的第一个单元格
  • 选择单元格
  • 双击右下角
  • 它将使用ABC(在该列中)自动填充该工作表中的所有行
  • 对其他工作表执行相同的操作

另一种选择是设置列的默认值,例如

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文件中。


我会选择哪个选项?可能是第一个;似乎是最简单,最快的。