[firebase-br] RES: Laço de repetição

Juvencio Leite juvenciolsilva em gmail.com
Ter Mar 10 17:36:18 -03 2009


Valeu o apoio e as dicas galera, vou implementar das duas formas, esta
conversão que estou fazendo e para tornar a aplicação multiBanco, pelo
menos e minha intenção. Foi se a era do sistema de um tipo de banco
apenas :@

2009/3/10 Jose Aparecido da Silva <joseasilva em bol.com.br>:
> É possível usar um script. Dá uma olhada em execute block se não me falha a memoria
>
> -----Mensagem original-----
> De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em nome de Juvencio Leite
> Enviada em: terça-feira, 10 de março de 2009 15:41
> Para: FireBase
> Assunto: Re: [firebase-br] Laço de repetição
>
> Na verdade eu gostaria de usar um Script "Solto" sem estar dentro de
> uma procedure, tem como ? Se não tiver ok, valeu a ajuda,  eu
> agradeço.
>
> 2009/3/10 Isael Faria Junior <isael em stetika.com.br>:
>> vc esta declarando antes do begin  e depois do AS ?
>>
>> Segue exemplo em uma procedure :
>>
>> CREATE PROCEDURE SP_GERA_LIBERACAO (
>>   COD_PROPOSTA DOUBLE PRECISION,
>>   COD_REVISAO DOUBLE PRECISION)
>> AS
>> DECLARE VARIABLE DATA_LIMITE DATE;
>> DECLARE VARIABLE ID_PATRIMONIO_SIMPLES INTEGER;
>> DECLARE VARIABLE ID_PRODUTO INTEGER;
>> DECLARE VARIABLE SIT_QTD VARCHAR(1);
>> DECLARE VARIABLE I INTEGER;
>> DECLARE VARIABLE QTD DOUBLE PRECISION;
>> DECLARE VARIABLE PRCUSTO DOUBLE PRECISION;
>> DECLARE VARIABLE DESCRICAO VARCHAR(50);
>> DECLARE VARIABLE SIT_TIPO VARCHAR(1);
>> DECLARE VARIABLE VAL_UNIT DOUBLE PRECISION;
>> begin
>>  /* Procedure Text */
>>  FOR SELECT A.descricao, A.qtd_item_locacao,A.id_patrimonio_simples,
>>      a.val_unitario
>>  FROM ite_patr_prop A WHERE A.cod_proposta = :cod_proposta AND
>>  A.cod_revisao = :cod_revisao INTO :descricao,:qtd,:id_patrimonio_simples,
>>  :val_unit DO
>>  BEGIN
>>   I = 0;
>>   I = 0;
>>
>>   SELECT P.dat_limite FROM PROPOSTA P WHERE P.cod_proposta = :cod_proposta
>> AND
>>       P.cod_revisao = :cod_revisao INTO :data_limite;
>>
>>   SELECT B.qtd,B.sit_tipo,b.id_produto FROM patrimonio_simples B WHERE
>>       B.id_patrimonio_simples = :id_patrimonio_simples
>>       into :sit_qtd,:sit_tipo,:id_produto;
>>   if (:sit_qtd IS NULL) then
>>     sit_qtd = 'N';
>>
>>  if (sit_tipo = '2') then
>>  begin
>>   if (:sit_qtd = 'S') then
>>   BEGIN
>>     WHILE (I<:qtd) DO
>>     BEGIN
>>       INSERT INTO
>> ITE_LIB_PROP(COD_PROPOSTA,COD_REVISAO,DESCRICAO,qtd,id_patrimonio_simples,DATA_LIMITE)
>>
>> VALUES(:cod_proposta,:cod_revisao,:descricao,1,:id_patrimonio_simples,:data_limite);
>>       I = I+1;
>>     END
>>   END
>>   if (:sit_qtd = 'N') then
>>   BEGIN
>>       INSERT INTO
>> ITE_LIB_PROP(COD_PROPOSTA,COD_REVISAO,DESCRICAO,qtd,id_patrimonio_simples,DATA_LIMITE)
>>
>> VALUES(:cod_proposta,:cod_revisao,:descricao,:qtd,:id_patrimonio_simples,:data_limite);
>>   END
>>  END
>>  if (sit_tipo = '1' ) then
>>  begin
>>       SELECT DESCRICAO,PRCUSTO FROM PRODUTOS WHERE ID_PRODUTO = :id_produto
>> INTO :descricao,:prcusto;
>>       INSERT INTO
>> ITE_LIB_PRODUTO(COD_PROPOSTA,COD_REVISAO,id_produto,DESCRICAO,
>>           qtd,VAL_UNITARIO,VAL_TOTAL,VALOR_UNIT_CONTR)
>>       VALUES(:cod_proposta,:cod_revisao,:id_produto,:descricao,
>>           :qtd,:prcusto,(:qtd*:prcusto),:val_unit);
>>  end
>>  END
>>  suspend;
>> end
>>
>> Juvencio Leite escreveu:
>>>
>>> ISSO NO FB 1.5 ? obs: como eu declaro variavel? tentei: DECLARE
>>> VARIABLE codigo integer; mas não funcionou.
>>>
>>> 2009/3/10 Isael Faria Junior <isael em stetika.com.br>:
>>>
>>>>
>>>> Para while :
>>>> while (v1 < v2) do
>>>> begin
>>>>
>>>> end;
>>>>
>>>> Para For
>>>>
>>>> for select campo from tabela into : parametro do
>>>> begin
>>>>
>>>> end;
>>>>
>>>>
>>>> Juvencio Leite escreveu:
>>>>
>>>>>
>>>>> Boa tarde, galera, estou convertendo um script de sql server para
>>>>> firebird e gostaria de saber como eu faço um laço de repetição no
>>>>> firebird?
>>>>>
>>>>>
>>>>>
>>>>
>>>> ______________________________________________
>>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>>>
>>>>
>>>
>>>
>>>
>>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>
>
>
> --
> ====================================
> Desenvolvimento para aplicativos comerciais
> com eficiência e segurança.
> 'A Análise determina a necessidade.
> Se nunca andou de Helicoptero,
> isso não significa que
> o mesmo não sirva para nada.'
> خوفنسيو يته دا سيلفا
>
> ===================================
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> Nenhum vírus encontrado nessa mensagem recebida.
> Verificado por AVG - www.avgbrasil.com.br
> Versão: 8.0.237 / Banco de dados de vírus: 270.11.9/1993 - Data de Lançamento: 03/10/09 07:19:00
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa



-- 
====================================
Desenvolvimento para aplicativos comerciais
com eficiência e segurança.
'A Análise determina a necessidade.
Se nunca andou de Helicoptero,
isso não significa que
o mesmo não sirva para nada.'
خوفنسيو يته دا سيلفا

===================================




Mais detalhes sobre a lista de discussão lista