将Excel数据导入Oracle数据库的笨方法
工作中遇到了需要将Excel数据导入到Oracle数据库中的情况,网上搜了一些方法,都不是太合适,直到读了一位前辈的文章后有所感悟,特记录下来,方便以后使用时可以查阅。
Excel有3列数据:
序号:即将插入的记录的主键
feeno:对应另一个表(feeitem)的feeitemno(注:该列不是feeitem主键)
desccontent:描述信息
要插入数据的表为feetodesc表,该表保存的是feeitem表中记录的描述信息,典型的多对一。该表有3个字段,serialno(主键)、feeitemid(对应feeitem主键)、desccontent(描述信息)。
导入方法:
在Excel第一行数据的最右侧单元格(我这里为D2)输入如下字符串
="insert into exp_t_feetodesc(serialno,feeitemid,desccontent) values('"&A2&"',(select b.feeitemid from exp_t_feeitem b where b.feeno = '"&B2&"'),'"&C2&"');"
注:
1、该字符串需要以="xxx"格式出现
2、由于是导入Oracle,所以插入的字符串都以''括起来
3、对于子条件使用()括起来
4、&A2&指的是该列使用A2单元格的值(相对)
该单元格内容编写好后,拖拽该单元格到最后一列,则每列自动生成插入语句,然后拷贝该列内容到PL/SQL中执行插入操作即可。