私がしようとしているのは、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 )
両方を組み合わせるためにストアドプロシージャを作成する必要があるため、この仕事をしなければなりません。
どのようにできるのか?それは正しい方法ですか?
外部テーブルを削除してもよろしいですか?