[firebase-br] Computed by

Francisco Thiago jeandeadlucky em yahoo.com.br
Qua Jun 8 10:36:13 -03 2005


Mas se o preço for alterado na tabela de itens? Você tem uma trigger lá pra 
refazer o cálculo?

Eu não queria que o campo na tabela de Vendas (hipotética) fosse passível de 
alterações. Seja por SQL ou por Programa... Acredito que os Computed não 
são.

Mas obrigado, possivelmente terei de fazer algo do tipo, caso não encontre a 
solução com o computed :D

Francisco Thiago de Almeida
Enter&Plug Informática
Divisão: Desenvolvimento e Banco de dados
MSN: thiago em enterplug.com.br
Skype: enterplug_thiago

----- Original Message ----- 
From: "Joelson - Souzamark" <joelsonss em yahoo.com.br>
To: "FireBase" <lista em firebase.com.br>
Sent: Wednesday, June 08, 2005 10:28 AM
Subject: Re: [firebase-br] Computed by


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
>
>


______________________________________________
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



	
	
		
____________________________________________________
Yahoo! Mail, cada vez melhor: agora com 1GB de espaço grátis! http://mail.yahoo.com.br





Mais detalhes sobre a lista de discussão lista