/* En el dvdrental cree una tabla llamada registro_inventory con las siguientes columnas: 1. Fecha 2. film_id.(Foreign Key relacionada con la tabla film) 3. Store_id.(Foreign Key relacionada con la tabla store) Cree un TRIGGER en la tabla inventory que se ejecute después de cualquier actualización(UPDATE) en la tabla de inventory. La función de TRIGGER insertará viejos valores de la tabla inventory en una nueva fila en la tabla registro_inventory. Notas: Se puede acceder a viejos valores a través del sintaxis OLD.film_id y OLD.store_id. Estos valores están disponibles solamente en la función de TRIGGER */ create table if not exists registro_inventory( id_registro serial primary key, fecha timestamp, film_id int not null, store_id int not null, constraint fk_film foreign key(film_id) references film(film_id), constraint fk_store foreign key(store_id) references store(store_id) ); CREATE function insert_old_inventory() RETURNS trigger AS $insert_old_inventory$ BEGIN IF NEW.film_id IS NULL THEN RAISE EXCEPTION 'Film Id no puede ser nulo'; END IF; IF NEW.store_id IS NULL THEN RAISE EXCEPTION 'Store_id no puede ser nulo'; END IF; insert into registro_inventory (id_registro, fecha, film_id, store_id) values (default, old.last_update, old.film_id, old.store_id); RETURN NEW; END; $insert_old_inventory$ LANGUAGE plpgsql; CREATE trigger insert_old_inventory AFTER UPDATE ON inventory FOR EACH ROW EXECUTE FUNCTION insert_old_inventory(); ---Test update inventory set store_id =2 where inventory_id = 1; select * from inventory i2 where inventory_id = 2; select * from registro_inventory;