2010/9/29 uno dos <[email protected]>
>
> ¿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 ([email protected])
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda