TRIGGER NO FIREBIRD
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)
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
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