Re: mixed insert... ?
От | Jeff Eckermann |
---|---|
Тема | Re: mixed insert... ? |
Дата | |
Msg-id | 20020114221703.56450.qmail@web20806.mail.yahoo.com обсуждение исходный текст |
Ответ на | mixed insert... ? (tomasz konefal <twkonefal@yahoo.ca>) |
Список | 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@yahoo.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/
В списке pgsql-general по дате отправления: