Thread: Insert from CSV (comma separated values) file

Insert from CSV (comma separated values) file

From
"Brian Johnson"
Date:
I need to insert some values from a CSV file.  It's a little more complicated than
that since I have to do a SELECT query (from one table) on one of the values to get
the proper value for the INSERT query (into another table)

I'd like it to be some kind of script that I could set up as a cron job

This sounds like the kind of things that somebody may have already done - can
anyone point me to it?  I'd prefer bash or perl scripts

I checked google but couldn't come up with anything


Re: Insert from CSV (comma separated values) file

From
Tom Lane
Date:
"Brian Johnson" <bjohnson@jecinc.on.ca> writes:
> I need to insert some values from a CSV file.  It's a little more
> complicated than that since I have to do a SELECT query (from one
> table) on one of the values to get the proper value for the INSERT
> query (into another table)

Doesn't seem that hard.  Insert the raw data into a temp table using
a command along the lines of
    COPY TO temp_table ... WITH DELIMITER ','
and then construct the final result rows with something like
    INSERT INTO dest_table
       SELECT ..., (SELECT ... FROM other_table), ... FROM temp_table

If that's not enough to get you going, let's see more details.

            regards, tom lane