Re: trigger question
От | Larry Rosenman |
---|---|
Тема | Re: trigger question |
Дата | |
Msg-id | 1021571463.95676.11.camel@ler-freebie.iadfw.net обсуждение исходный текст |
Ответ на | Re: trigger question (Josh Berkus <josh@agliodbs.com>) |
Ответы |
Re: trigger question
|
Список | pgsql-sql |
On Thu, 2002-05-16 at 12:49, Josh Berkus wrote: > Larry, > > > Is there a way in PL/pgSQL to have a trigger look at the fields in a > > %ROWTYPE variable to look for changes? > > > > I'm looking to be able to log the fields that are different between old > > and new in a trigger, but don't want to have to list each field (It > > changes, occasionally, but it changes). I'd also like to add a > > timestamp and flag field when I store the record in the log table. > > > > Am I just SOL, or is there a way to do this? (7.2.1, if it matters). > > I'm pretty sure there is a way to do what you want, and it's probably simpler > than you think. > > However, I need you to be more explicit, with examples. I can't quite figure > out what is is you're trying to do. > given the following table: CREATE TABLE "networks" ("netblock" cidr,"router" integer,"interface" character varying(256),"dest_ip" inet,"mis_token" character(16),"assigned_date"date,"assigned_by" character varying(256),"justification_now" integer,"justification_1yr" integer,"cust_asn"integer,"comments" character varying(2048),"other_reference" character varying(256),"parent_asn" integer,"status"integer NOT NULL,"purpose" integer,"last_update_by" character varying(256),"last_update_at" timestamp withtime zone,"customer_reference" integer,"natblock" cidr ); I want to log the changes to it in a trigger. Occasionally we add fields to it, so I'd like the trigger to know about them automatically. I need to log old/new for just the fields that change (and the netblock, which is the primary key). I realize I can build up the insert, but that seems to be the hard way. > -Josh Berkus -- Larry Rosenman http://www.lerctr.org/~ler Phone: +1 972-414-9812 E-Mail: ler@lerctr.org US Mail: 1905 Steamboat Springs Drive, Garland, TX 75044-6749
В списке pgsql-sql по дате отправления: