buen dia,
ante todo gracias a aquella persona que me pueda ayudar tengo este codig en POSTGRES
Código:
CREATE OR REPLACE FUNCTION fill_data() RETURNS TRIGGER AS $fill_data$
DECLARE
BEGIN
IF (TG_OP = 'UPDATE') THEN
UPDATE request SET req_description = NEW.req_description WHERE req_id = OLD.req_id;
IF NOT FOUND THEN RETURN NULL;
END IF;
NEW.last_updated = now();
INSERT INTO historic VALUES(NEW.req_description, NEW.stat_id);
RETURN NEW;
ELSIF (TG_OP = 'INSERT') THEN
INSERT INTO request VALUES(NEW.req_subject, NEW.req_description, NEW.dateapplication, NEW.stat_id, NEW.pers_id);
NEW.last_updated = now();
INSERT INTO historic VALUES(NEW.req_description, NEW.stat_id);
RETURN NEW;
END IF;
END;
$fill_data$ LANGUAGE plpgsql;
CREATE TRIGGER fill_data BEFORE INSERT OR UPDATE
ON request FOR EACH ROW
EXECUTE PROCEDURE fill_data();
CREATE TRIGGER fill_data BEFORE INSERT OR UPDATE
ON historic FOR EACH ROW
EXECUTE PROCEDURE fill_data();
PERO CUANDO HAGO ESO
Código:
insert into request (req_id, req_subject, req_description,req_dateapplication, stat_id)
values ( 123, 'yamileth','prueba de trigger', '2011/11/11',2)
Y CUANDO LO EJECUTO ME DICE ESTO
ERROR: el registro «new» no tiene un campo «dateapplication»
CONTEXT: SQL statement "INSERT INTO request VALUES(NEW.req_id, NEW.req_subject, NEW.req_description, NEW.dateapplication, NEW.stat_id, NEW.pers_id)"
función PL/pgSQL «fill_data» en la línea 14 en sentencia SQL
********** Error **********
ERROR: el registro «new» no tiene un campo «dateapplication»
SQL state: 42703
Context: SQL statement "INSERT INTO request VALUES(NEW.req_id, NEW.req_subject, NEW.req_description, NEW.dateapplication, NEW.stat_id, NEW.pers_id)"
función PL/pgSQL «fill_data» en la línea 14 en sentencia SQL
ALGUIEN ME PODRA AYUDAR....