PostgreSQL - LCS

 
Vista:

LCS

Publicado por Manuel (1 intervención) el 05/07/2005 17:46:56
Alguien asesoreme

Esta es mi tabla c_equipos:
CREATE TABLE c_equipos
(
id_equipo int2 NOT NULL DEFAULT nextval('seq_equipo'::text),
equipo varchar(40),
marca varchar(30),
modelo varchar(30),
vigencia int2,
categoria int2,
precio numeric(10,2),
CONSTRAINT c_equipos_pkey PRIMARY KEY (id_equipo),
CONSTRAINT categoria FOREIGN KEY (categoria) REFERENCES c_categorias (id_categoria) ON UPDATE CASCADE ON DELETE NO ACTION
)

Esta es mi tabla historica:
CREATE TABLE hist_equipos
(
id_equipo int2 NOT NULL,
precio numeric(10,2),
fecha date,
hora time,
id_historico int2 NOT NULL DEFAULT nextval('seq_hist_epos'::text),
CONSTRAINT hist_equipos_pkey PRIMARY KEY (id_historico),
CONSTRAINT "$2" FOREIGN KEY (id_equipo) REFERENCES c_equipos (id_equipo) ON UPDATE CASCADE ON DELETE RESTRICT
)

Mi funcion es asi :
CREATE OR REPLACE FUNCTION act_precio()
RETURNS "trigger" AS
'
BEGIN
IF (OLD.precioNEW.precio) then BEGIN
INSERT INTO hist_equipos(id_equipo,precio,fecha,hora)
VALUES (OLD.id_equipo,OLD.precio,CURRENT_DATE,CURRENT_TIME)
END;
END;
'
LANGUAGE 'plpgsql' VOLATILE;

Y asi esta mi trigger:
CREATE TRIGGER act_precio
BEFORE INSERT OR UPDATE
ON c_equipos
FOR EACH ROW
EXECUTE PROCEDURE act_precio();

No se que me haga falta, de hecho no estoy familiarizado con los "triggers" nunca he hecho alguno, y me marca error WARNING: plpgsql: ERROR during compile of act_precio near line 7
ERROR: parse error at or near ""

Pero me parece necesario utilizarlos, y lo que quiero es guardar el valor del precio del equipo cada vez que el usuario lo actualice, o inserte un equipo nuevo al catalogo de c_equipos.

Podrias ayudarme, te lo agradecere muchisimo.

Gracias

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder