[firebase-br] StoredProcedure (Select X Update)

Eduardo Jedliczka edujed em gmail.com
Qua Abr 6 10:25:40 -03 2011


Se isto resolve o seu problema e não fere as normas de desenvolvimento
adotadas pela sua equipe, não há problemas.

==========================
Eduardo Jedliczka
Apucarana - Pr
==========================

Em 6 de abril de 2011 10:01, Marcelo Moreira
<marcelomoreira.souza em gmail.com> escreveu:
>  Pessoal,
>
> É correto fazer uma SP que desempenhe duas funções ao mesmo tempo? A
> primeira seria realizar um select em determinada tabela e a segunda,
> realizar um update nesta mesma tabela onde foi realizado o select.
> Ficou meio confuso mas vou tentar exemplificar:
>
> Vou fazer um for select na tabela cliente onde vou retornar alguns dados dos
> clientes, dentre estes campos que vou retornar vai ter um do tipo Time.
> Dentro do laco for select vou verificar a quantidade minutos entre o campo
> citado e a hora corrente, se a diferenca for X preciso dar um update em um
> campo da tabela cliente
>
> for
>  select id_cliente, hora_atualiza, nome, cpf, status from cliente where
> status <> 1 into :id_cliente, :hora_atualiza, :nome, :cpf, :return_status
> do begin
>  INTERVAL_LAST_UPDATE = datediff(minute from :hora_atualiza to
> current_time);
>      if ((INTERVAL_LAST_UPDATE >= 2) then begin
>        RETURN_STATUS = 3;
>        update cliente set status = :return_status where id_cliente =
> :id_cliente;
>      end
>  suspend;
> end
>
> Ou neste caso seria melhor fazer na mesma SP uma coisa de cada vez? Primeiro
> atualizo e depois dou o select?
>
> Estou usando o Firebird 2.1.3
>
> Grato pela atenção
>
> --
> Marcelo Moreira
> (31) 8420-2723
> E-mail / MSN: marcelomoreira.souza em hotmail.com
> E-mail: marcelomoreira.souza em gmail.com
> Skype: marcelomoreira.souza
> ______________________________________________
> 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
>




Mais detalhes sobre a lista de discussão lista