Joepie Platteau
2004-09-13 10:05:06 UTC
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.
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend
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.
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend