[firebase-br] Plobemas com Stored Procedure

Stock stock_rp em yahoo.com.br
Qua Nov 23 16:39:38 -03 2005


 Estou enviando a procedure abaixo, que faz uma leitura na tabela de
funcionarios e efetua o lançamento dos salarios relativo ao mes informado,
precisava tirar uma duvida caso possam me ajudar...



se utilizo-a com o parametro de saida --> CERTO , ela funciona normal, ou
seja faz a varredura dos registros e efetua os lançamentos, mas se retiro
este parametro, ela simplesmente lança so o primeiro lançamento, gostaria de
uma explicação para isso se possivel, nao achei nada que pudesse me  tirar
essa duvida

 

CREATE PROCEDURE LANCA_SALARIO (

DIG CHAR(3),

REF CHAR(7))

RETURNS (

CERTO INTEGER)

AS

DECLARE VARIABLE CODIGO VARCHAR(7);

DECLARE VARIABLE TEM INTEGER;

DECLARE VARIABLE SALARIO DECIMAL(15,2);

begin

CERTO = 0;

FOR SELECT "salario","codigo" from "func" where "ativo"='X' and "ddem" is
null order by 2 into :salario, :codigo

do

begin

FOR select cast(count("codigo")as integer) FROM "lanfunc" where "ref"=:ref
and "codigo"=:codigo and "hist"='1' into :tem

do

begin

CERTO = :CERTO +1;

if (:tem=0) then

begin

insert into "lanfunc" ("codigo", "ref", "hist", "tipo", "valor", "data",
digi")values(:codigo,:ref,'1','C',:salario,current_date,:dig);

end

else

begin

update "lanfunc" set "valor"=:salario where "ref"=:ref and "codigo"=:codigo
and "hist"='1';

end

suspend;

end

suspend;

end

suspend;

end

	

	
		
_______________________________________________________ 
Yahoo! Acesso Grátis: Internet rápida e grátis. 
Instale o discador agora!
http://br.acesso.yahoo.com/






Mais detalhes sobre a lista de discussão lista