[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