pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Aaron Bono <postgresql@aranya.com>
To: lists@pkhanson.com
Cc: pgsql-sql@postgresql.org
Subject: Re: Determining correct table order for insert or drop statements to satisfy foreign keys
Date: Fri, 3 Nov 2006 12:04:54 -0600
Message-ID: <bf05e51c0611031004y57f783bcta1610b318ec931c@mail.gmail.com> (raw)
In-Reply-To: <200611021716.49044.lists@pkhanson.com>
References: <200611021343.31622.lists@pkhanson.com>
	<bf05e51c0611021458v5188862of1194ad595dc6c02@mail.gmail.com>
	<200611021716.49044.lists@pkhanson.com>

On 11/2/06, Peter Hanson <lists@pkhanson.com> wrote:
>
> Hi Aaron,
>
> I'm using PHP5 as the programming language.


Unfortunately it looks like PHP has very limited support for meta data:
http://us2.php.net/manual/en/function.pg-meta-data.php

Check this out:
http://www.postgresql.org/docs/8.0/interactive/functions-info.html
http://archives.postgresql.org/pgsql-admin/2006-08/msg00147.php

See if that points you in the right direction.

On Thursday 02 November 2006 16:58, Aaron Bono wrote:
> > On 11/2/06, Peter Hanson <lists@pkhanson.com> wrote:
> > > Hello,
> > >
> > > First, sorry if this has already been covered, though I didn't find
> > > anything
> > > similar in the archives. Also sorry if this is the wrong list for this
> > > type
> > > of question, though it seemed to be the most relevant list for this
> > > question.
> > >
> > > On to the question:
> > >
> > > I'm writing a simple import script that reads in an excel file that a
> > > customer
> > > fills out. Each worksheet represents a different table and the tables'
> > > fields
> > > are columns in each worksheet.
> > >
> > > The tables represented in the file are variable, I have no idea what
> > > table combinations will be in the excel file when it's sent to the
> > > script.
> > >
> > > What I need is a way for the script to determine what order it should
> > > process
> > > the worksheets in the excel file.
> > >
> > > For example, you have this table structure (each table would be a
> > > worksheet):
> > >
> > > PERSON (1) <--> (many) ORDER (1) <--> (many) ORDER_ITEM
> > >
> > > Obviously, the people would have to be inserted first, then the
> orders,
> > > and
> > > finally the items, to keep the foreign keys between the tables happy.
> > >
> > > Is there a mechanism in PostgreSQL that would tell me this order?  Or
> is
> > > it
> > > something that would have to be assembled from analyzing the
> > > schema?  Anybody
> > > needed to perform an operation like this before? Any help/direction
> would
> > > be
> > > greatly appreciated.
> >
> > What programming language are you using?  Many languages provide
> mechanisms
> > to ask the database for metadata about tables including primary keys,
> > indexes, data types and foreign keys.  That is one option for you.




-- 
==================================================================
   Aaron Bono
   Aranya Software Technologies, Inc.
   http://www.aranya.com
   http://codeelixir.com
==================================================================

view thread (4+ messages)

Message-ID: <bf05e51c0611031004y57f783bcta1610b318ec931c@mail.gmail.com>
Permalink:  ../bf05e51c0611031004y57f783bcta1610b318ec931c@mail.gmail.com/
Also on:    postgresql.org/message-id/bf05e51c0611031004y57f783bcta1610b318ec931c@mail.gmail.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-sql@postgresql.org
  Cc: postgresql@aranya.com, lists@pkhanson.com
  Subject: Re: Determining correct table order for insert or drop statements to satisfy foreign keys
  In-Reply-To: <bf05e51c0611031004y57f783bcta1610b318ec931c@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox