TRIGGER NO FIREBIRD

MARCELOKROL 15/04/2011 07:43:15
#371394
Bom dia a todos

tenho em meu sistema uma tabela produtos: codpro, descpro, ..., precovenda, precocusto, margemaplic, ..., são varias colunas (48 ao todo), bom estou querendo automatizar o calculo da margem bruta aplicada entre o precocusto e precovenda, entao queria uma trigger que ao INSERIR ou ATUALIZAR um registro que o campo margemaplic seja atualizado junto. Assim não presciso calcular ele via codigo cada vez que o mesmo for requisitado na tela.

Segue a função para calculo da margem bruta aplicada calculada via código (vb6)

  Public Function CalculaMargem(ByVal pCusto As Double, ByVal pVenda As Double) As Double
103 If pVenda = 0 Or pCusto = 0 Then
106 CalculaMargem = 0
109 Else
112 CalculaMargem = ((pVenda / pCusto) - 1) * 100
115 End If
End Function
LLAIA 15/04/2011 12:04:04
#371444
Resposta escolhida
CREATE TRIGGER CALCULA_MARGEM FOR SUA_TABELA ACTIVE BEFORE INSERT OR UPDATE POSITION 0 AS

begin

new.Margem = ((new.pVenda / new.pCusto) - 1) * 100;

end


Acho que resolve.
Tópico encerrado , respostas não são mais permitidas