CREATE OR ALTER TRIGGER TTBESTOQUE_SALDO_DIARIO_B9U FOR TBESTOQUE_SALDO_DIARIO
ACTIVE BEFORE UPDATE POSITION 9
AS
DECLARE VARIABLE HISTORICO VARCHAR(500);
begin

   HISTORICO = '';
   if (OLD.CUSTO_MEDIO > 0 AND NEW.CUSTO_MEDIO > 0) THEN
       BEGIN
       if (OLD.CUSTO_MEDIO <> NEW.CUSTO_MEDIO) THEN
           BEGIN
           HISTORICO = 'EST.'||OLD.ESTABELECIMENTO_CODIGO||' LOC.'||OLD.LOCALIZACAO_CODIGO||' DT.'||OLD.DATA||' CM '||OLD.CUSTO_MEDIO||'->'||NEW.CUSTO_MEDIO;
           END
       END

   if (HISTORICO <> '') Then
       Begin
       INSERT INTO TBHISTORICO (
       TABELA, TABELA_ID, USUARIO, IP, HISTORICO) VALUES (
      'TBESTOQUE_SALDO_DIARIO', OLD.PRODUTO_CODIGO,
      (Select First 1 MON$USER from mon$attachments where mon$attachment_id = current_connection),
      (Select First 1 MON$REMOTE_ADDRESS from mon$attachments where mon$attachment_id = current_connection),
       :Historico);
       End
End;