From: | Kevin Old <kold(at)carolina(dot)rr(dot)com> |
---|---|
To: | beginners(at)perl(dot)org |
Cc: | pgsql <pgsql-general(at)postgresql(dot)org> |
Subject: | Stream data into Postgres via Perl |
Date: | 2002-10-29 17:53:09 |
Message-ID: | 1035913990.3633.9.camel@oc |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hello all,
I'm writing a script that will read pipe delimited data from a text file
and insert various fields into a Postgres table. Below is some code I'm
trying to optimize:
while (<FHD>) {
chomp; #removes \n
chop; #removes trailing pipe
@line = split(/\|/, $_, 502); #The line has 502 "fields" so
#them into an array
$dbh->do("INSERT INTO cdl_16master VALUES(nextval('cdl_16_seq'),\'" .
join("\',\'",
$line[0],$line[4],$line[5],$line[6],$line[10],$line[11],$line[14],$line[18],$lin
e[22],$line[25]) . "\')");
$dbh->commit();
} #end while
Just wondering if anyone has a better way of accessing the data in the
array or of storing the few fields I need temporarily until it gets
inserted into the database.
There's a better way to do this, but I'm just not thinking right.....any
suggestions are appreciated.
Thanks,
Kevin
kold(at)carolina(dot)rr(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian | 2002-10-29 18:08:19 | Re: supplying password to psql on command line? |
Previous Message | Robert John Shepherd | 2002-10-29 17:28:49 | TSearch and phrase searches |