Gracias Emanuel por responder. Existe una tabla maestra llamada "
insert_informe_15min_diario_cola_maestra" y unas tablas hijas
"informes.informe_15min_diario_cola_X_Y" donde X es el numero del mes y Y es el
año. El código del trigger es el siguiente:
CREATE TRIGGER insert_informe_15min_diario_cola
BEFORE INSERT
ON informes.informe_15min_diario_cola_maestra
FOR EACH ROW
EXECUTE PROCEDURE informes.informe_15min_diario_cola();
CREATE OR REPLACE FUNCTION informes.informe_15min_diario_cola()
RETURNS trigger AS
$BODY$
DECLARE
mesvar integer;
anovar integer;
comandovar character varying;
BEGIN
mesvar = EXTRACT(MONTH FROM NEW.fecha);
anovar = EXTRACT(YEAR FROM NEW.fecha);
comandovar := 'INSERT INTO
informes.informe_15min_diario_cola_'||mesvar||'_'||anovar||'(fecha, dia_semana,
hora, hora_inicio, hora_fin, num, max, min, total)
VALUES ('||quote_literal(NEW.fecha)||',
'||NEW.dia_semana||', '||NEW.hora||', '||quote_literal(NEW.hora_inicio)||',
'||quote_literal(NEW.hora_fin)||', '||NEW.num||', '||NEW.max||', '||NEW.min||',
'||NEW.total||')';
EXECUTE comandovar;
RETURN NULL;
END;
$BODY$
LANGUAGE plpgsql VOLATILE
COST 100;
Gracias.
Att
Sergio E.
-----Mensaje original-----
De: Emanuel Calvo [mailto:[email protected]]
Enviado el: martes, 10 de enero de 2012 07:42 a.m.
Para: Sergio Sinuco
CC: [email protected]
Asunto: Re: [pgsql-es-ayuda] Particionamiento de tablas: evitar insercion en la
tabla maestra
El día 9 de enero de 2012 22:40, Sergio Sinuco
<[email protected]> escribió:
> Hola a todos. Estoy tratando de partir una tabla usando un trigger para
> distribuir las inserciones desde la tabla maestra a las tablas hijas. Sin
> embargo a pesar de que el trigger es "ON BEFORE INSERT" y retorna NULL, el
> registro se inserta en la tabla maestra y en la tabla hija. Que podra estar
> fallando?. Estoy usando Postgresql 8.4
>
Pega el código del disparador.
--
--
Emanuel Calvo
Helpame.com
-
Enviado a la lista de correo pgsql-es-ayuda ([email protected])
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda