Trigger set to backup to other table NOT FUNCTIONING...

From: Joepie Platteau <Joepie(dot)Platteau(at)kulak(dot)ac(dot)be>
To: pgsql-admin(at)postgresql(dot)org
Subject: Trigger set to backup to other table NOT FUNCTIONING...
Date: 2004-09-13 10:05:06
Message-ID: 414570D2.9090405@kulak.ac.be
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Hi,
I have a problem with my trigger... :

my tables :

CREATE TABLE public."T-Alumni" (
"Id_Persoon" int8 DEFAULT nextval('"T-Alumni_Id_Persoon_seq"'::text) NOT
NULL,
"SteunendLid" bool,
"Betaald" bool,
"Stamnr" int4,
"Alumninr" int4,
"Acjaar" varchar(50),
"Studiejaar" varchar(50),
CONSTRAINT "T-Alumni_pkey" PRIMARY KEY ("Id_Persoon")
) WITH OIDS;

CREATE TABLE public."T-Alumni-backup" (
"Id_Persoon" int8 NOT NULL,
"SteunendLid" bool,
"Betaald" bool,
"Stamnr" int4,
"Alumninr" int4,
"Acjaar" varchar(50),
"Studiejaar" varchar(50)
) WITH OIDS;

i have a table (T-Alumni) and BEFORE a record changes or is being
deleted, I want to copy this record to a UNDO_table (T-Alumni-backup).

I tried like this :

CREATE FUNCTION public.f100() RETURNS trigger AS '
BEGIN
INSERT INTO "T-Alumni-backup" VALUES (NEW.Id_Persoon, NEW.SteunendLid,
NEW.Betaald, NEW.Stamnr, NEW.Alumninr, NEW.Acjaar, NEW.Studiejaar);
RETURN NEW;
END;
' LANGUAGE 'plpgsql' VOLATILE;

CREATE TRIGGER t100t BEFORE DELETE OR UPDATE ON public."T-Alumni" FOR
EACH ROW EXECUTE PROCEDURE f100();

I get this error :
Record "new" has no field "id_persoon" (#7)

Also I want to have the name of the person who deleted or changed the
record in my BackUp (undo) table...

Can someone tell me how to solve this problem?
Thanx!
Joepie.

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Edgars 2004-09-13 11:39:18
Previous Message C. Bensend 2004-09-12 16:55:39 Re: Memory exhausted in AllocSetAlloc