[firebase-br] Problema com Trigger

Edinho ed.rodrigo em gmail.com
Sáb Maio 23 19:12:10 -03 2009


Olá pessoal, estou montando uma trigger aqui e to experimentando 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á!
-- 
- Edinho
-- Engenharia da Computação / 3 º Termo
--- Araçatuba/SP



Mais detalhes sobre a lista de discussão lista