Bom dia pessoal.
Tenho uma trigger que atualiza o estoque na entrada de produtos. Preciso agora 
criar um novo campo na tabela de produtos, onde devo armazenar o custo médio 
dos produtos, ou seja, a soma de todos os preços de custos dividida pela 
quantidade de vezes que o mesmo foi adquirido.
Eu consegui fazer este calculo através do select porém não consigo atribuir o 
resultado deste select para o camo Custo Médio.
Vejam a trigger que estou usando, e como acho que deveria ser o cálculo do 
custo médio, porém o mesmo não está dando certo.
Uso Firebird 1.5

AS
BEGIN
    IF (INSERTING) THEN
        UPDATE PRODUTO
        SET PRO_ULTCOMPRA = CURRENT_DATE, 
        PRO_ESTOQUE = PRO_ESTOQUE + NEW.ITEM_QUANTIDADE, 
        PRO_PRCUSTO = NEW.ITEM_CUSTO, 
        PRO_PRVENDA = NEW.ITEM_VENDA
        PRO_CMEDIO = (SELECT SUM(ITEM_CUSTO) / COUNT(ITEM_CUSTO) FROM 
ITENSCOMPRA
                                    WHERE ITEM_PRODUTO = NEW.ITEM_PRODUTO)
        WHERE PRO_CODIGO = NEW.ITEM_PRODUTO;
    IF (UPDATING) THEN
        UPDATE PRODUTO
        SET PRO_ESTOQUE = PRO_ESTOQUE - OLD.ITEM_QUANTIDADE + 
NEW.ITEM_QUANTIDADE, 
        PRO_PRCUSTO = NEW.ITEM_CUSTO, 
        PRO_PRVENDA = NEW.ITEM_VENDA

        PRO_CMEDIO = (SELECT SUM(ITEM_CUSTO) / COUNT(ITEM_CUSTO) FROM 
ITENSCOMPRA
                                    WHERE ITEM_PRODUTO = NEW.ITEM_PRODUTO)
        WHERE PRO_CODIGO = NEW.ITEM_PRODUTO;
END

Se alguém puder me ajudar.
Sds.
Cristiano.

[As partes desta mensagem que não continham texto foram removidas]



-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

<*> Para ver as mensagens antigas, acesse:
    http://br.groups.yahoo.com/group/delphi-br/messages

<*> Para falar com o moderador, envie um e-mail para:
    [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a