[firebase-br] Trigger com Erro

Edinho ed.rodrigo em gmail.com
Sáb Maio 23 21:42:41 -03 2009


Olá pessoal, estou montando uma trigger aqui e to tendo alguns
problemas, nao tenho certeza se estou fazendo da maneira certa, a
trigger compila, mas qnd ela é ativada ocorre um erro, bom dexa eu
explicar o que quero fazer:

Eu tenho uma tabela, na qual guardo as informaçoes de um funcionario,
horas que ele trabalhou:

hora entrada,
hora saida,
horas que trabalhou,

basicamente, esses sao os campos, oque eu queria é que quando o
funcionario saisse, fosse feito o calculo das qtde de horas que ele
trabalhou, pra isso, montei a seguinte trigger:

CREATE OR ALTER trigger funcionario_trabalhadas_au0 for funcionario_trabalhadas
active after update position 0
AS
declare variable trabalhadas numeric (18,0);
declare variable entrada timestamp;
declare variable saida timestamp;
begin
  if (new.functrab_codigo <> old.functrab_codigo) then
    exception usuario_trocado;
    else begin
        select funcionario_trabalhadas.functrab_horaentrada from
funcionario_trabalhadas
        where funcionario_trabalhadas.functrab_codigo = new.functrab_codigo
        into :entrada;
        select funcionario_trabalhadas.functrab_horasaida from
funcionario_trabalhadas
        where funcionario_trabalhadas.functrab_codigo = new.functrab_codigo
        into :saida;

        trabalhadas = udf_HoursBetween(:saida, :entrada);

        update funcionario_trabalhadas set
funcionario_trabalhadas.functrab_trabhora = :trabalhadas
        where funcionario_trabalhadas.functrab_codigo = new.functrab_codigo;

        end
end

ela executa normalmente, porem qnd eu vou inserir algo na tabela, aconte isso:

Too many concurrent executions of the same request.
Too many concurrent executions of the same request.
At trigger 'FUNCIONARIO_TRABALHADAS_AU0' line: 20, col: 9
At trigger 'FUNCIONARIO_TRABALHADAS_AU0' line: 20, col: 9
At trigger 'FUNCIONARIO_TRABALHADAS_AU0' line: 20, col: 9
At trigger 'FUNCIONARIO_TRABALHADAS_AU0' line: 20, col: 9
At trigger 'FUNCIONARIO_TRABALHADAS_AU0' line: 20, col: 9

Alguem pode me ajudar?

:s

Obrigado desde já!




Mais detalhes sobre a lista de discussão lista