Já passei por algo parecido sim, Rafael.
Normalmente o erro estava no próprio SQL repassado ao Zeos.
Eu utilizo sempre esta estrutura para escrita/edição de dados:
"select * from tabela where id_tabela = :id_tabela"
Neste caso, ao efetuar insert ou update, o sistema sempre se comporta de
maneira correta.

De qualquer forma, creio que deves verificar as propriedades do teu
TZQuery, antes de mais nada, e verificar se a estrutura de query repassada
ao componente está de maneira simples e "filtrada".


Em 3 de setembro de 2013 17:06, Rafael Naves
<[email protected]>escreveu:

> Boa tarde a todos,
>
> Eu tenho uma trigger simples para preencher alguns campos da minha tabela
> a cada alteração de registro:
>
> *CREATE TRIGGER tabela_teste_trigger_ui
> *
> *  BEFORE INSERT OR UPDATE *
> *  ON public.tabela_teste FOR EACH ROW *
> *  EXECUTE PROCEDURE public.atualiza_campos_ultimos();*
>
> *>>>>> Ela aciona uma a função abaixo:*
>
> *CREATE OR REPLACE FUNCTION public.atualiza_campos_ultimos(
> *
> *)*
> *RETURNS trigger AS*
> *$body$*
> *BEGIN
> *
> *
> *
> *  if (TG_OP = 'INSERT') then*
> *    operacao := 'I';*
> *  else*
> *    operacao := 'A';  *
> *  end if;*
> *  *
> *  new.DATA_ALTERACAO:= current_timestamp;*
> *  new.TIPO_OPERACAO := operacao;
> *
> *  *
> *  if (TG_OP = 'INSERT') then
> *
> *    return old;*
> *  else*
> *    return new;*
> *  end if;*
> *
> *
> *END;
> *
> *$body$*
> *LANGUAGE 'plpgsql'*
> *VOLATILE*
> *RETURNS NULL ON NULL INPUT*
> *SECURITY INVOKER*
> *COST 100;*
>
> *Problemática:*
>
> Ao executar pelo banco de dados, através de scripts funciona normalmente,
> no entanto, quando é executada via aplicação usando Delphi 2007 + Zeos
> 7.0.4 eu recebo o erro:
>
> *'0 record(s) updated. Only one record should have been updated.'*
> *
> *
> Em minhas pesquisas e testes realizado pude perceber que o problema esta
> relacionado com o update dos campos da tabela, fato é que, ao desativar a
> trigger a aplicação consegue gravar os dados normalmente na tabela.
>
> Alguém já passou por isso ou percebeu alguma coisa na função que possa
> estar ocasionando o problema?
>
> Obrigado.
>
>
>
> --
> ------------------------
> Rafael M. Naves
> Analista/Programador
> (31)9861-4047 (*novo!*)
> (31)8636-8910
> http://www.twitter.com/navesrafael
> http://www.rafaelnaves.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

Responder a