[firebase-br] Uma ajuda com tabelas "virtuais"

Murilo >> CPR Sistemas murilo em cprinformatica.com.br
Sex Maio 18 17:35:48 -03 2007


Sim, e é uma boa idéia, mas para este caso seria melhor na procedure pois dai 
fica mais genérica para qualquer documento (a única coisa que muda é o valor de 
um parâmetro), e no documento a cada novo documento inserido necessitaria de 
adaptações (e mesmo que mínimas, no procedimento está mais viável). :D

Até o presente momento resolvi criando "fisicamente" uma tabela e inserindo, 
pesquisando, atualizando e deletando registros, não nego que ficou rapidinho e 
bom, mas se eu pudesse evitar a criação "física" da mesma e apenas uma criação 
"local-temporária" (como customa-se fazer com componentes criados em tempo de 
execução apenas para determinadas ações e tchau... tchau...) seria muito melhor.

Ismair Alves escreveu:
> tem que ser no BD?
> pq senao voce pode usar uma estrutura de dados no seu sistema, voce cria a
> estrutura e carrega com seu select principal ai vc manipula ele do jeito que
> voce quiser... entendeu?
> 
> espero ter ajudado.
> 
> 
> 
> 
> 
> Em 18/05/07, Murilo >> CPR Sistemas <murilo em cprinformatica.com.br> escreveu:
>> Mas como eu manteria as informações?
>>
>> assim por exemplo: passou pelo primeiro item e diminui de 100 para 50 o
>> valor
>> contido em um dos registros da minha tabela temporária, agora quando eu
>> for
>> passar pelo segundo item do pedido, ele deve novamente passar por toda a
>> tabela
>> temporária e quando passar por este campo novamente deve me retornar 50
>> para que
>> eu possa atualiza-lo novamente, e não 100 (como se eu fizesse um novo
>> select em
>> um tabela da qual não mudei nada de verdade, por isso uma tabela virtual,
>> pois
>> não posso mudar informações reais, mas preciso atualiza-las durante o loop
>> nos
>> itens para que a procedure me retorne os valores corretos e quando o
>> procedimento terminar, tudo deve ficar como se não houvesse nada)
>>
>> Ismair Alves escreveu:
>>> stored procedure....
>>>
>>>
>>>
>>> Em 18/05/07, Murilo >> CPR Sistemas <murilo em cprinformatica.com.br>
>> escreveu:
>>>> Tem como, e como? eu faria uma tabela virtual que, me retorna as
>>>> informações de
>>>> um determinado select e que eu possa percorre-lo.
>>>>
>>>> assim tenho um select que vai me retornar informações diversas (uma
>> tabela
>>>> virtual), sendo que este select vai ser executado uma vez para cada
>> item
>>>> do pedido:
>>>>
>>>> /* Aqui executo o select montando a tabela virtual */
>>>> For
>>>>         Tabela de itens de Pedido
>>>>         into
>>>>                 :variaveis
>>>> do
>>>> begin
>>>>         /* aqui devo percorrer a tabela virtual a atualiza-la de acordo
>>>> com as
>>>> informações que retornaram nos itens do pedido */
>>>> end
>>>>
>>>>
>>>> O por que disso tudo?!, Simples, vou precisar da informações que
>>>> retornaram na
>>>> tabela virtual só que para cada item, devo atualiza-la, e quando for
>>>> verificar o
>>>> próximo item, devo utilizar as informações contidas na tabela virtual,
>>>> pois não
>>>> posso executar novamente o select pelo simples motivo que que vai me
>>>> retornar as
>>>> informações "zeradas" - como se não houvesse passado pelos outros itens
>>>> anteriores do pedido.
>>>>
>>>> Tem como fazer isso no Firebird 1.5 seja usando view ou procedure ou
>> algum
>>>> outro
>>>> recurso sem ter de realmente criar um tabela?
>>>>
>>>>
>>>> ______________________________________________
>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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
>>>>
>>>
>>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.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