| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: SQLLDR Question
On 6 Mar 2002, rkg100_at_erols.com wrote:
> So one way to do this would be to load the data into a temp table and
> as part of the patch only insert the records that are not duplicates
> to the load table.
You could delete the duplicate rows after each load:
delete from load_table t1
where rowid <> (
select min(rowid)
from load_table t2
where correlate t1 and t2 on what
makes the rows unique
in the load table.)
For example:
SQL> create table t (fld1 number, fld2 number, fld3 number);
Table created.
SQL> insert into t values (1,1,1);
1 row created.
SQL> insert into t values (2,2,2);
1 row created.
SQL> insert into t values (1,1,1);
1 row created.
SQL> insert into t values (2,2,2);
1 row created.
SQL> insert into t values (3,3,3);
1 row created.
SQL> select * from t;
FLD1 FLD2 FLD3
---------- ---------- ----------
1 1 1
2 2 2
1 1 1
2 2 2
3 3 3
SQL> delete from t t1
where rowid <> (
select min(rowid)
from t t2
where t1.fld1 = t2.fld1
and t1.fld2 = t2.fld2
and t1.fld3 = t2.fld3);
2 rows deleted.
SQL> select * from t;
FLD1 FLD2 FLD3
---------- ---------- ----------
1 1 1 2 2 2 3 3 3
-- Galen deForest Boyer Sweet dreams and flying machines in pieces on the ground.Received on Wed Mar 06 2002 - 22:29:06 CST
![]() |
![]() |