Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Crear un trigger en postgres

Estas en el tema de Crear un trigger en postgres en el foro de PostgreSQL en Foros del Web. Hola amigos del foro necesito crear un trigger en Postgrest que inseter datos a otra tabla por ejemplo tengo una tabla llamada facturas id_facturas Nombre_facturas ...
  #1 (permalink)  
Antiguo 05/01/2011, 17:14
 
Fecha de Ingreso: septiembre-2010
Mensajes: 10
Antigüedad: 14 años, 2 meses
Puntos: 0
Exclamación Crear un trigger en postgres

Hola amigos del foro necesito crear un trigger en Postgrest que inseter datos a otra tabla

por ejemplo tengo una tabla llamada

facturas

id_facturas Nombre_facturas
1 fc01
2 fc02
3 nc01
4 nc03


ahora quiero que mi inseter en una otra tabla automaticamente pero que las inseciones las haga despues de un minuto por ejemplo
cuando inserten a la tabla Facturas un registro que pase un minuto y despues se inseter a la tabla copiaFactura, son los mismos campos

esto lo quiero hacer con un trigger creen que se pueda hacer si es que si me podrian ayudar se los agradecere mucho amigos es urgente
  #2 (permalink)  
Antiguo 05/01/2011, 21:39
 
Fecha de Ingreso: septiembre-2008
Mensajes: 75
Antigüedad: 16 años, 2 meses
Puntos: 1
Respuesta: Crear un trigger en postgres

Me parece que el trigger se realiza en la transaccion debida, no sabria como hacer que despues de un minuto sea capaz de recien insertar, de todos modos te doy una pauta de como se hace un trigger
Código:
CREATE OR REPLACE FUNCTION pa_grabarotratabla()
  RETURNS trigger AS
$BODY$
begin
insert into otratabla(campo1,campo2)
values(NEW.campo1,NEW.campo2);
end;$BODY$
  LANGUAGE 'plpgsql' VOLATILE
  COST 100;

CREATE TRIGGER tr_grabarotratabla
  AFTER INSERT
  ON tablaorigen
  FOR EACH ROW
  EXECUTE PROCEDURE pa_grabarotratabla();
saludos

Etiquetas: trigger
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:16.