Obrigado JotaComm No firebird, eu tenho que fazer uma trigger para cada tabela. No Postgresql eu percebi (se não estou enganado) que eu posso usar a mesma função de trigger em várias tabelas e é isso que estou tentando fazer.
a minha função de trigger seria create or replace function *gerar_id()* returns trigger as $$ begin --essa trigger define a chave primária --as tabelas que vão disparar essa trigger são tabela1, tabela2, tabela3, ... (muitas) --essas tabelas já existem e cada uma tem uma chave primária, do mesmo tipo, mas com nomes diferentes new.(nome da chave primária da tabela que está disparando essa trigger) = uuid_generate_v4() end $$ language plpgsql; Agora eu quero usar essa trigger em várias tabelas: create tigger tabela1_tg before insert on tabela1 for each row execute *gerar_id()*; create tigger tabela2_tg before insert on tabela2 for each row execute *gerar_id()*; create tigger tabela3_tg before insert on tabela3 for each row execute *gerar_id()*; Etc... Em 9 de novembro de 2011 10:17, JotaComm <[email protected]> escreveu: > Olá, Marllos > > Em 9 de novembro de 2011 10:15, Daniel Cristian Cruz < > [email protected]> escreveu: > > Acredito que uma forma seja usando PL/Python: >> >> http://www.postgresql.org/docs/9.1/interactive/plpython-trigger.html >> >> Já procurei como fazer com PL/pgSQL, mas não encontrei como referenciar >> dinamicamente o nome do atributo de chave primária. >> >> Você precisará consultar o catálogo, através da pg_attribute (attname) e >> da pg_constraint (contype='p'). >> >> Em 9 de novembro de 2011 10:02, Marllos <[email protected]>escreveu: >> >>> Por favor, preciso de ajuda para revolver um problema. E se for >>> possível gostaria de um exemplo. >>> >>> Em uma trigger, eu quero alterar a chave primária da tabela que dispara >>> essa trigger, mas de forma dinâmica, por exemplo: >>> >>> new.(referencia dinâmica a chave primária da tebela) = valor. >>> >> > Não entendi o que você deseja. Poderia colocar um exemplo prático da > situação. > >> >>> Obrigado. >>> >>> Marllos. >>> _______________________________________________ >>> pgbr-geral mailing list >>> [email protected] >>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >>> >>> >> >> >> -- >> Daniel Cristian Cruz >> クルズ クリスチアン ダニエル >> >> _______________________________________________ >> pgbr-geral mailing list >> [email protected] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> >> > > Abraços > -- > JotaComm > http://jotacomm.wordpress.com > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > >
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
