Fórum É possive Montar essa SP, uso FireBird #58312

13/05/2007

0

tenho duas tabelas...
Locacoes...
DetLocacoes..

e quero fazer mais ou menos assim, só que não tenho ideia de como poderia ficar..
if (select count(*) from detlocacoes where detlocacoes.devolvido=´N´)<0 then begin update locacoes set locacoes.entregue=´S´ end else begin locacoes.entregue=´N´ end

só que não tenho ideia de como fazer isso rodar usando SQL dentro de uma SP :cry:


Paullsoftware

Paullsoftware

Responder

Posts

15/05/2007

Acacio

crie primeiro o sql depois crie uma variável conta que
é do tipo inteiro como abaixo e depois do resultado verifica
se o valor que foi passado para a variável é maior do que zero.


select count(*) from detlocacoes where detlocacoes.devolvido=´N´
:conta

if(conta < 0) then
begin
update locacoes set
locacoes.entregue=´S´
end
else
begin
locacoes.entregue=´N´
end


Responder

Gostei + 0

16/05/2007

Paullsoftware

Valeu pela dica amigo, consegui usando FOR SELECT e ficou assim:
CREATE PROCEDURE ATUALIZA_LOCACAO (
    wlocacao integer)
returns (
    wconta integer)
as
begin
  for select count(*) from detlocacao where detlocacao.devolvido=´N´ and detlocacao.locacao=:wLocacao
  into :wconta
  do
   begin
  if (wconta>0) then
   begin
    update locacao set
    locacao.entregue=´N´;
   end
  else
   begin
    update locacao set
    locacao.entregue=´S´;
   end
  suspend;
  end
end

grato! 8)


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar