[firebase-br] Loop em Procedures

Eder Ribeiro eder.rib em gmail.com
Qua Jul 27 09:18:13 -03 2005


Qual é o erro que a procedure retorna?

Eder Ribeiro
Ribeirão Preto - SP
"Quando o compilador não está feliz, ninguém está"


----- Original Message ----- 
From: "Marcio O. Nascimento (Forzza)" <mnascimento em forzza.com.br>
To: "firebase" <lista em firebase.com.br>
Sent: Wednesday, July 27, 2005 8:56 AM
Subject: [firebase-br] Loop em Procedures




Pessol, bom dia a todos.

Estou com problemas na execucao de uma Procedure, onde preciso fazer um Loop
no resultado do select, todavia a procedure retorna erro e nao executa as
devidas insercoes.

Subscrevo a Procedure para que os senhores na medida de suas possibilidades
possa analisar, Obrigado.

----------------------------------------------------------------------------
----------------------------------------------------------------------------
-----
CREATE PROCEDURE PROC_ABERTURA_CAIXA (
    DATA_ATUAL DATE)
AS
DECLARE VARIABLE DATA_CX DATE;
DECLARE VARIABLE SALDO_CX NUMERIC(18,2);
DECLARE VARIABLE PRODUTO SMALLINT;
begin
  select first 1 a.data from mvto_caixa a
  where a.data = :data_atual
  into :DATA_CX;

  if (data_cx >= data_atual ) then
  begin
    Exception Erro_Abertura_Caixa;
    suspend;
  end

  select max(a.data) from mvto_caixa a
  where a.data < :data_atual
  into :data_cx;

  for select cd_produto from produtos
  into :produto
  do
  begin
    suspend;
    select b.data, b.saldo_fin_enc from mvto_caixa b
    where b.data = :data_cx
    and b.cd_produto = :produto
    into  :data_cx, :saldo_cx;

    INSERT INTO MVTO_CAIXA
    (data, cd_produto, saldo_ini_enc, saldo_fin_enc, saldo_ini_fut,
saldo_fin_fut)
    VALUES
    (:data_cx, :produto, :saldo_cx, :saldo_cx,0,0);
  end
  suspend;
end
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.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