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:postgres....@gmail.com] 
Enviado el: martes, 10 de enero de 2012 07:42 a.m.
Para: Sergio Sinuco
CC: pgsql-es-ayuda@postgresql.org
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
<sergiosin...@datatraffic.com.co> 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 (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a