[firebase-br] Passar parâmetro para View

Giovani Benedetti Penha giovani em cooperval.com
Seg Jul 11 17:43:42 -03 2005


Tentei fugir da SP mas não teve jeito.... Valeu a dica Daniel, vou 
implementar dessa forma, vai ser a saída mais otimizada para o meu caso.

[]s
Giovani

Daniel / Tecnobyte escreveu:

>>>Sim, isto está claro pra mim. Mas o que eu queria era colocar o
>>>parâmetro dentro da view, na declaração da view. Acho que me expressei
>>>      
>>>
>mal.
>  
>
>>>Da forma como você colocou, a view teria que ser executada inteira,
>>>depois filtrada novamente pelo select * from minha_view where campo =
>>>:meu_parametro
>>>Queria  colocar o parâmetro na declaração da  view,  assim evitaria  o
>>>"retrabalho" de selecionar apenas o valor específico representado pelo
>>>parâmetro.
>>>Ex:
>>>create view viewtemp (codigo, valor)
>>>as
>>>select codigo, valor
>>>from tabela
>>>where codigo = :parametro_codigo
>>>
>>>Daí no Delphi:
>>>select * from viewtemp;
>>>E setaria o parametro_codigo direto no componente. Ou seja, economizaria
>>>tempo de execução, pois a view apenas retornaria apenas os valores com o
>>>código que eu preciso.
>>>      
>>>
>
>O que você quer é feito com stored procedure e não com view. Veja um
>exemplo:
>
>CREATE PROCEDURE Proc_VendaComissao(Vendedor INTEGER, Data1 DATE, Data2
>DATE)
>RETURNS(Codigo INTEGER, Descricao VARCHAR(40), Qtd NUMERIC(18,3),
>  Total NUMERIC(18,2), Comissao NUMERIC(18,2)) AS
>BEGIN
>  FOR
>    SELECT Produto.Codigo, Produto.Descricao, SUM(ItemVenda.Qtd),
>      SUM(ItemVenda.Total), SUM(ItemVenda.ValorComissao)
>    FROM Venda, ItemVenda, Produto
>    WHERE
>      Venda.Vendedor = :Vendedor AND
>      Venda.Data BETWEEN :Data1 AND :Data2 AND
>      Venda.Concluida = 'S' AND
>      ItemVenda.Venda = Venda.Codigo AND
>      Produto.Codigo = ItemVenda.Produto
>    GROUP BY Produto.Codigo, Produto.Descricao
>    ORDER BY Produto.Descricao
>    INTO :Codigo, :Descricao, :Qtd, :Total, :Comissao
>  DO
>    SUSPEND;
>END^
>
>Atenciosamente.
>
>Daniel P. Guimarães
>Tecnobyte Informática
>www.tecnobyte.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
>
>
>  
>



Mais detalhes sobre a lista de discussão lista