Normalmente tengo que pasar varios minutos o hasta horas buscando y leyendo en internet cómo hacer tal cual cosa, y que por lo general, ya lo he hecho antes... ¿olvidadizo? bueno, sólo a veces y con algunas cosas... Así que, es probable que a partir de ahora este blog empiece a verse más movido y con cositas más interesantes...
De entrada, será cosas de PostGreSQL, por sí alguien lee esto y quiere, de vez en cuando, darle alguna mirada.
Primer caso
Tengo dos (2) tablas, la primera me registra una serie de actividades, y la segunda, registra los diferentes estatus por los que va a pasar en un momento determinado.
actividad (id serial, nombre, fecha_inicio, fecha_culmina);
actividad_estatus (id int CONSTRAINT fk_est FOREIGN KEY (id) REFERENCES actividad(id), estatus varchar(1));
Obviamente, sólo coloca la información descriptiva para el problema.
Al registrar una actividad, normalemente tiene estatus no iniciado, por lo que podría ser interesante dejar al motor que cuandos e inserte la actividad, se inserte el estatus con ciertos valores por iniciales.
Creamos una función en lenguaje plpgsql, que devuelva un trigger, así:
Ahora no se me ocurre qué más escribir, así que... hasta otro momento!
Primer caso
Crear una función en plpgsql, que guarde el valor de un campo de una tabla, en otra tabla, con un disparador
Tengo dos (2) tablas, la primera me registra una serie de actividades, y la segunda, registra los diferentes estatus por los que va a pasar en un momento determinado.
actividad (id serial, nombre, fecha_inicio, fecha_culmina);
actividad_estatus (id int CONSTRAINT fk_est FOREIGN KEY (id) REFERENCES actividad(id), estatus varchar(1));
Obviamente, sólo coloca la información descriptiva para el problema.
Al registrar una actividad, normalemente tiene estatus no iniciado, por lo que podría ser interesante dejar al motor que cuandos e inserte la actividad, se inserte el estatus con ciertos valores por iniciales.
Creamos una función en lenguaje plpgsql, que devuelva un trigger, así:
begin
insert into ssc.actividad_estatus (id) values (NEW.id);
return NEW;
end;
Ahora no se me ocurre qué más escribir, así que... hasta otro momento!
No hay comentarios.:
Publicar un comentario