2008/9/17 Mozart Hasse <[EMAIL PROTECTED]>
> (...)
> Atribuir o NEW nas triggers de BEFORE até que aparentemente funcionou,
> porém
> tive de deixar todas as triggers como AFTER para resolver outros
> problemas...
Bom, novamente vou alertar que NUNCA, no postgresql, atribuir valores ao
registro NEW ou OLD num gatilho "AFTER" funcionará. A idéia do AFTER é fazer
alterações em outras tabelas, e não na que gerou o evento.
>
> Bom, a coisa até que andou, não tenho mais aquele erro do "record 'new' is
> not assigned yet", só que agora resta descobrir como se implementa em
> Postgres a funcionalidade da qual as triggers originais dependiam:
> identificar se a chamada atual da trigger function foi disparada de um
> UPDATE/INSERT/DELETE da aplicação ou da própria trigger...
Tive problemas com isso uma vez, e acho que uma possivel solução seria
marcar isso numa tabela temporária pela regra da VIEW. É possível executar
mais de uma ação na regra.
Por exemplo:
CREATE RULE regra_do_cao ON INSERT TO [nome da view] DO INSTEAD *(*
INSERT INTO [tabela temporaria de marcação] VALUES (...);
INSERT INTO [tabela real] VALUES (...) *);*
Note que as ações da regra estão entre parênteses, e separadas por ";".
Talvez isso resolva. Boa sorte. =D
(...)
>
--
William Leite Araújo
Analista de Banco de Dados - QualiConsult
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral