How about this:

Let's call your current table tab.
Insert into a table with the same shape as your table tab called 'lfd'.
Create an index on table lfd on fields lname, fname, workdate.
Delete from lfd where lfd.lname = tab.lname and lfd.fname = tab.fname
and lfd.workdata = tab.workdate
Insert into tab select * from lfd

Or something like that.  SQL*Server has something called
IGNORE_DUPLICATES.  It is the only database I recall that has that
feature.

> -----Original Message-----
> From: Ron St-Pierre [mailto:[EMAIL PROTECTED] 
> Sent: Monday, December 22, 2003 3:48 PM
> To: [EMAIL PROTECTED]
> Subject: [GENERAL] COPY - Ignore Problems
> 
> 
> I wish to insert data into a table from a very large text 
> file (from a 
> cron script) using COPY. However if the lName (TEXT), fName(TEXT), 
> workDate(DATE) already exist I don't want to insert data and 
> just want 
> to move onto the next record. Is there any way I can tell my bash 
> script/COPY to ignore the case where the unique constraint exists 
> (lName,fName,workDate), and move on to the next record?
> 
> ps 7.4, debian stable
> TIA
> Ron
> 
> 
> ---------------------------(end of 
> broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings
> 

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

Reply via email to