[firebase-br] Computed by

Joelson - Souzamark joelsonss em yahoo.com.br
Qua Jun 8 10:28:55 -03 2005


Caro Francisco Thiago
numa rotina parecida no nosso sistema usamos uma trigger pra isso
eis a criaça ;-)

CREATE TRIGGER CALCULA_SAIDA FOR SAIDA
ACTIVE BEFORE INSERT OR UPDATE POSITION 10
AS
BEGIN
  SELECT SUM(QUANTIDADE), SUM(VALOR_TOTAL) FROM PROD_SAIDA
  WHERE SAIDA = NEW.CODIGO INTO NEW.QUANTIDADE, NEW.VALOR_BRUTO;

  IF (NEW.PERC_DESCONTO > 0.00) THEN
  BEGIN
    NEW.VALOR_DESCONTO = (NEW.PERC_DESCONTO * NEW.VALOR_BRUTO / 100);
    NEW.VALOR_LIQUIDO = (NEW.VALOR_BRUTO - NEW.VALOR_DESCONTO);
  END
  ELSE
  IF (NEW.VALOR_DESCONTO > 0.00) THEN
  BEGIN
    NEW.PERC_DESCONTO = (NEW.VALOR_DESCONTO * 100 / NEW.VALOR_BRUTO);
    NEW.VALOR_LIQUIDO = (NEW.VALOR_BRUTO - NEW.VALOR_DESCONTO);
  END
  ELSE
  BEGIN
    NEW.PERC_DESCONTO = 0.00;
    NEW.VALOR_DESCONTO = 0.00;
    NEW.VALOR_LIQUIDO = NEW.VALOR_BRUTO;
  END
END

sem mais
Joelson

----- Original Message ----- 
From: "Francisco Thiago" <jeandeadlucky em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, June 08, 2005 10:16 AM
Subject: [firebase-br] Computed by


> Pessoal,
>
> Eu tenho uma tabela Pai (venda por exemplo) e gostaria de colocar um campo 
> calculado (computed) nela que calculasse o valor da venda.
> Só que eu não consigo fazer o relacionamento na expressão do campo.
>
> Procurei na documentação do IB6 e não encontrei um exemplo. Alguém poderia 
> me dar uma mãozinha?
>
> seria algo como
>
> ALTER TABLE CAD_VENDAS
> ADD TOTAL_VENDA
>    COMPUTED BY (
>      (
>        select VALOR_UNITARIO
>        from VendaItem
>        where VendaItem.CodigoVenda = CAD_VENDAS.CodigoVenda
>       ));
>
>
> Obrigado
>
> Francisco Thiago de Almeida
> Enter&Plug Informática
> Divisão: Desenvolvimento e Banco de dados
> MSN: thiago em enterplug.com.br
> Skype: enterplug_thiago
>
>
>
>
>
>
>
>
> ____________________________________________________
> Yahoo! Mail, cada vez melhor: agora com 1GB de espaço grátis! 
> http://mail.yahoo.com.br
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
> Para editar sua configuração na lista, use o endereço 
> http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> -- 
> No virus found in this incoming message.
> Checked by AVG Anti-Virus.
> Version: 7.0.323 / Virus Database: 267.6.6 - Release Date: 08/06/2005
>
> 





Mais detalhes sobre a lista de discussão lista