RES: [firebase-br] Procedure - que não nem como começar

Ton - Hotmail hevertonc em hotmail.com
Ter Set 5 13:54:59 -03 2006


   Olá...

   Dentro da procedure, é só vc fazer um select nos campos e verificar qual
o primeiro deles que tem valor NULL, por exemplo:

   SELECT hr1, hr2, hr3, hr4, hr5, hr6
   FROM Tabela
   WHERE Condição
   INTO :H1, :H2, :H3, :H4, :H5, :H6;

   Depois faz IFs verificando de as variáveis estão nulas, por exemplo:
   if (:H1 is null) then
   E altera o registro, com um update comum...

   Mas aki vão algumas coisas... 
   1- Por estar na Internet, a procedure aumeta a performance, mas não faz
milagre, ainda vai continuar lento.
   2- Porque não cria uma tabela detalhe com os horários, assim não precisa
ficar vendo qual campo já está preenchido, simplesmente adiciona com a chave
do funcionário, a Data, a Hora e se é de entrada ou saída (Caso esta
informação seja necessária), Além de ficar mais simples, selects bem simples
podem resolver a busca e vc fica sem limites de batidas de cartão, seja um
funcionário que bateu cartão 2, 4 6 ou 10 vezes, ele vai conseguir suportar.
   3- Se o Banco precisar ficar na Web mesmo, já que são poucas informações
a trafegar, estuda a possibilidade de um WebService pra isso, resolve seu
problema com a lentidão do banco.

        Ton
Analista de Sistemas
 DotCom Informática
 
"A infrmação não é um produto,
e sim a matéria prima." (Ton)
-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de BandaLemuel
Enviada em: terça-feira, 5 de setembro de 2006 13:44
Para: FireBase
Assunto: [firebase-br] Procedure - que não nem como começar


        Lista

    É o seguinte, estou fazendo uma aplicação de cartão de Ponto, tenho tudo

pronto, e coloquei o banco na internet, mas esta muito lento, quero 
inplementar com Procedure para ficar mais rápido. Como funciona...

    A Tabela tem os Camspo

        hr1 , hr2 , hr3 , hr4 , hr5 e hr6, que são os horários batidos do 
dia.... ou seja até 6 vezes ....

    preciso verificar se já foi batido uma vez se foi , ele altera o 
registro e coloca no proximo hr, e se não foi batido insere o reg com a hora

no hr1...

        eu não faço ideia como fazer isso, vcs podem me ajudar ?

        Obrigado.

        Wesley


		
_______________________________________________________ 
O Yahoo! está de cara nova. Venha conferir! 
http://br.yahoo.com


______________________________________________
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