[firebase-br] StoredProcedure (Select X Update)
Marcelo Moreira
marcelomoreira.souza em gmail.com
Qua Abr 6 10:01:57 -03 2011
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
Mais detalhes sobre a lista de discussão lista