2010/9/29 uno dos <refreegr...@yahoo.com>
>
> ¿cuál sería el orden de ejecución de estos triggers?
>

la respuesta normal a ese tipo de preguntas es has la prueba... aunque
a veces eso significa que tienes que leer un poco para ver como hacer
la prueba, asi que incluyo un script ya listo para correr (asi 1) tu
ejecutas la prueba y 2) terminas de convencerte que hacer una prueba
no tiene porque ser complicado)

--
Jaime Casanova         www.2ndQuadrant.com
Soporte y capacitación de PostgreSQL
-- una base de pruebas
create database prueba;

-- tablas para la prueba
create table a (col1 int);
create table b (col1 int);
create table c (col1 int);

-- la funcion del trigger
create or replace function prueba_trigger() returns trigger as $$
begin
   raise notice 'starting trigger in %', tg_table_name;
   if tg_table_name = 'a' then
           insert into b values(1);
   elsif tg_table_name = 'b' then
           insert into c values(1);
   end if;
   raise notice 'finishing trigger in %', tg_table_name; 
   return new;
end
$$ language plpgsql;

-- los triggers
create trigger trg_after_a after insert on a for each row execute procedure prueba_trigger();
create trigger trg_after_b after insert on b for each row execute procedure prueba_trigger();
create trigger trg_after_c after insert on c for each row execute procedure prueba_trigger();

-- la prueba
insert into a values (1);
-
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