Re: Updating a table via a view
От | Shridhar Daithankar |
---|---|
Тема | Re: Updating a table via a view |
Дата | |
Msg-id | 3E47B2E4.30756.E51D57D@localhost обсуждение исходный текст |
Ответ на | Re: Updating a table via a view (ahoward <ahoward@fsl.noaa.gov>) |
Список | pgsql-general |
> > I am trying to maintain a history of rows. The base table has a start > > and end date. I am updating the table using a view and a rule. The > > rule, updates the end date on the current record and then inserts a new > > row with the modified columns, or at least thats what I want to happen. > > > > The update is occuring but the insert doesn't. I get no error but no > > row. The rule looks like this; > > CREATE RULE a_update > > AS ON UPDATE TO a DO INSTEAD > > (UPDATE a_hist > > SET tend = now() > > WHERE (a.x = old.x) > > AND (a.tend = 'infinity'::timestamptz); > > INSERT INTO a_hist ( > > x, > > tstart, > > tend, > > y, > > z > > ) VALUES ( > > new.x, > > now(), > > 'infinity'::timestamptz, > > new.y, > > new.z > > ); > > ); I suggest you put all things in a pl/pgsql function and callt that function in instead rule. It might be that it takes that ';' as end of the SQL command. HTH Bye Shridhar -- We'll pivot at warp 2 and bring all tubes to bear, Mr. Sulu!
В списке pgsql-general по дате отправления: