我正在尝试从 csv 读取数据并在插入后将其插入外部表中,我必须使用外部表的值更新我的原始表
因为无法使用 sqlloader 更新表,因为我按照链接关注
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:70109473088345
create table external_table
(EMPNO NUMBER(4) ,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7, 2),
COMM NUMBER(7, 2) ,
DEPTNO NUMBER(2)
)
ORGANIZATION EXTERNAL
( type oracle_loader
default directory data_dir
access parameters
( fields terminated by ',' )
location ('emp.dat')
)
merge into EMP e1
using EXTERNAL_TABLE e2
on ( e2.empno = e1.empno )
when matched then
update set e1.sal = e2.sal
when not matched then
insert ( empno, ename, job, mgr, hiredate, sal, comm, deptno )
values ( e2.empno, e2.ename, e2.job, e2.mgr, e2.hiredate, e2.sal, e2.comm,
e2.deptno )
我必须做这项工作,因为我必须创建存储过程来结合两者。
我能怎么做?这是正确的方法吗?
删除外部表好不好?