[firebase-br] Ajuda para criar um procedure

Prisma Sistemas - Moacir prismars em prismars.com.br
Sáb Set 9 04:43:05 -03 2006


Fernando:

For Select ID, COD, NOME, VALOR from MINHATABELA order by ID into 
:VARID, :VARCOD, :VARNOME, :VARVALOR
do begin    /*  Equivale ao while... */
   if (condicao1) then
   begin
        Insert into NOVATABELA (ID) values (:ID);
   end
   else if (condicao2) then
   begin
        Insert into OUTRATABELA (ID) values (:ID);
   end
   else /* outras..*/
   begin
      /* bla bla bla bla */
   end
   suspend;
end;

Não é muito, mas deve ter ajudar.

[ ]´s
Moacir

Fernando Reis Guimaraes escreveu:
> Olá pessoal.
>
> Meu nome é Fernando e sou novo nesta lista e em mexer com banco de dados...
> Programo a vários anos mas nunca por incrível que pareça mexi com banco de 
> dados, e estou precisando da ajuda de vocês....
>
> Preciso criar uma procedure e nem sei por onde começar mas como citei acima, 
> sou programador a vários anos e espero não ter muita dificuldades se vocês 
> me ajudarem.....
>
> Eu preciso varrer um tabela inteira e com os registros delas criar uma nova 
> dependendo de critérios que eu defini.
> Vou explicar melhor...
>
> A procedure que quero criar é para varrer uma tabela assim:
>
> ID integer not null (PK c/triggers para autoincremento.
> Nome varchar(50) not null
> valor integer not null
>
> Registros ficticios.
>
> ID                        COD                NOME                    VALOR
> 1                          10                    fulano 
> 10
> 2                          10                    fulano 
> 50
> 3                          10                    fulano 
> 100
> 4                          20                    ciclano 
> 50
> 4                          20                    ciclano 
> 200
> 4                          20                    ciclano 
> 250
>
>
> Bom, eu preciso selecionar um cliente por vez, e verificar se a última 
> diferença do valor é > do que a média da diferença dos ultimos  3 
> registros/meses  * 1.3 e se menor que média*.07.
> Se sim gravar o ID numa nova tabela simples, somente com esse ID....
>
> Eu já até fiz essa função no cliente em linguagem delphi, só que demora mais 
> de 2 hora para rodar, e quando executu-o no servidor baixa para 15 minutos 
> de execução, isso porque tenho que passar o banco de dados todo pela rede 2 
> vezes quase, uma para processar outra para retornar os valores...
>
> Por isso quero faze-la em stored procedure......
>
> Qualquer exemplo sobre loops e procedures que vier a me ajudar eu 
> agradeço.....
>
> Atenciosamente;
> Fernando 
>
>
>
>
>   
> ------------------------------------------------------------------------
>
> ______________________________________________
> 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
> ------------------------------------------------------------------------
>
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.405 / Virus Database: 268.12.2/441 - Release Date: 9/7/aaaa
>   



Mais detalhes sobre a lista de discussão lista