From: | Jeff Eckermann <jeff_eckermann(at)yahoo(dot)com> |
---|---|
To: | tomasz konefal <twkonefal(at)yahoo(dot)ca>, pgsql-general(at)postgresql(dot)org |
Subject: | Re: mixed insert... ? |
Date: | 2002-01-14 22:17:03 |
Message-ID: | 20020114221703.56450.qmail@web20806.mail.yahoo.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
You need to use a trigger, which will do the insert
for you automatically. Some references:
http://www.ca.postgresql.org/docs/aw_pgsql_book/node166.html
http://www.postgresql.org/idocs/index.php?sql-createtrigger.html
http://www.postgresql.org/idocs/index.php?plpgsql-trigger.html
--- tomasz konefal <twkonefal(at)yahoo(dot)ca> wrote:
> hello list,
>
> i'm hoping someone can enlighten me on the best
> way to do an insert. i am
> creating a little user database that looks something
> like this:
>
> CREATE TABLE ftpclients (
> clientid serial primary key,
> foldernumber int,
> loginname varchar(32),
> createdate date,
> activedate date,
> expiredate date,
> quota int,
> active boolean,
> billbydate boolean,
> passwd varchar(32)
> );
>
> and i'd like to log any changes to the ftpclients
> table (above) in a second
> table like this:
>
> CREATE TABLE clhistory (
> clientid int,
> entry text,
> moddate date,
> FOREIGN KEY (clientid) REFERENCES ftpclients
> );
>
> i'm writing a script in perl that will fetch the
> appropriate data and perform
> these inserts, but i'm having trouble inserting into
> the clhistory table
> because i need to insert two fields from the
> ftpclients table (clientid, and
> createdate), but also a third value that comes from
> the script that runs the
> query (so i can't use:
>
> INSERT into ... SELECT...;
>
> directly). right now, i see my options as (some
> perl'isms):
>
> 1 - $result=SELECT clientid from ftpclients WHERE
> loginname=$client{loginname};
> INSERT INTO clhistory VALUES ($result, $entry,
> $createdate);
>
> 2 - store the most recent comment in the ftpclients
> table, which would allow
> an
> INSERT ... SELECT;
>
> ideally, i'd like to insert into the clhistory table
> a comment with a
> clientid value that matches the desired loginname
> from the ftpclients table.
> am i on the right track, or is there an entirely
> better way to handle this?
>
> thanks,
> twkonefal
>
>
______________________________________________________________________
>
> Web-hosting solutions for home and business!
> http://website.yahoo.ca
>
> ---------------------------(end of
> broadcast)---------------------------
> TIP 5: Have you checked our extensive FAQ?
>
> http://www.postgresql.org/users-lounge/docs/faq.html
__________________________________________________
Do You Yahoo!?
Send FREE video emails in Yahoo! Mail!
http://promo.yahoo.com/videomail/
From | Date | Subject | |
---|---|---|---|
Next Message | Elein | 2002-01-14 22:27:47 | Re: Anyway to know which users are connected to postgres? |
Previous Message | David A Dickson | 2002-01-14 21:54:43 | Re: SELECT help (fwd) |