Re: [SQL] Does PostgreSQL have an UPDATE Function like UNIFY?

From: "John J(dot) Boris, Sr(dot)" <john(dot)boris(at)onlinesvc(dot)com>
To: pgsql-sql(at)postgreSQL(dot)org
Subject: Re: [SQL] Does PostgreSQL have an UPDATE Function like UNIFY?
Date: 1999-05-30 15:31:29
Message-ID: 4.1.19990530113001.00a62ce0@bcs-main.onlinesvc.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

D'Arcy
Thanks for the quick reply. I'll look into that. I don't think I had that
interface compiled when I installed PostgreSQL so I'll check.
Thanks again.

At 08:29 AM 5/29/99 -0400, you wrote:
>Thus spake John J. Boris, Sr.
>> I was wondering if PostgreSQL had a function that allowed you to update a
>> table from a delimited file that would update matching records and insert
>> new records. Under Unify you could do an update with a switch (I think it
>> was -n) that would take input from a pipe delimited file (in the order the
>> fields of the table) and since the table had which field was unique it
>> would key on that and if it didn't find the key it would add the record.
>
>How about a python solution? (untested)
>
>#! /usr/bin/env python
>from pg import DB # http://www.druid.net/pygresql/
>db = DB() # or specify other than the default database
>
>for l in open('path_to_input_filename').readlines():
> dict = convert_line_to_dictionary(l) # this could be automated somewhat
> try: db.insert(dict) # fails if duplicate
> except(db.update(dict) # do this if insert fails
>
>The insert and update can be tried in the reverse order if you expect
>more lines in the input to be updating existing records than new records.
>
>The convert_line_to_dictionary() function could be automated somewhat but
>I really hate depending on the order of fields. However, if I know the
>order of fields in the input file (easier to guarantee) then I woould
>do something like this.
>
> l = string.split(l, '|')
> dict = {
> 'field0': l[0],
> 'field1': l[1],
> 'field2': l[2]
> }
>
>There is also a module to handle comma delimited, quoted strings files.
>
>--
>D'Arcy J.M. Cain <darcy(at){druid|vex}.net> | Democracy is three wolves
>http://www.druid.net/darcy/ | and a sheep voting on
>+1 416 424 2871 (DoD#0082) (eNTP) | what's for dinner.

John J. Boris, Sr. Boris Computer Services/ONLine Services
email:john(dot)boris(at)onlinesvc(dot)com(dot)com
bbs: The Bleeding Edge 609-858-9221

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message Zsolt Varga 1999-05-30 21:51:29 strftime or date_format like function?
Previous Message Herouth Maoz 1999-05-30 13:13:46 Re: [SQL] Does PostgreSQL have an UPDATE Function like UNIFY?