0

我正在尝试从 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 )

我必须做这项工作,因为我必须创建存储过程来结合两者。

我能怎么做?这是正确的方法吗?

删除外部表好不好?

4

0 回答 0