Rs, debugar é preciso.

troque "else if" por "elseif" e problema resolvido.

Em 19/07/07, Leo Matos <[EMAIL PROTECTED]> escreveu:

Olá Leonardo, obrigado pela atenção..

Decidi separar em 2 funções..uma que promove e a outra que retém o aluno
na série....
da mesma forma..acontece o erro...

Segue a função que promove..

CREATE OR REPLACE FUNCTION fncPromoverAlunos(int4,int4)
  RETURNS void AS
$BODY$
declare
 b record;
 c record;
 _rm int8;
 turma_atual ALIAS FOR $1;
 turma_promovidos ALIAS FOR $2;
begin

 for c in select rm,situacao from tbalunos_modulo where idturma =
turma_atual loop
  _rm = c.rm;
  if (c.situacao = 'CC') then  -- Aluno promovido sem dependências
   insert into tbalunos_modulo (rm,idturma,situacao,chamada) values (_rm,
turma_promovidos, 'NL',0);
  else if(c.situacao = 'PP') then -- Aluno promovido com dependências,
teho que colocar as matérias na entidade tbalunos_modulo_pp e cadastrá0lo na
próxima série
   insert into tbalunos_modulo (rm,idturma,situacao,chamada) values (_rm,
turma_promovidos, 'NL',0);

   for b in
        select am.rm,am.idaluno_modulo,amd.idaluno_modulo_disciplina as
amdisc,amd.notafinal,p.idprofessor as prof,p.nome
     from tbalunos_modulo am
     join tbalunos_modulo_disciplina amd on am.idaluno_modulo =
amd.idaluno_modulo
     join tbturmas t on am.idturma=t.idturma
     join tbmodulos_disciplinas md on
amd.idmodulo_disciplina=md.idmodulo_disciplina
     left join tbturmas_professor tp ON tp.idturma = t.idturma AND
tp.idmodulo_disciplina = md.idmodulo_disciplina
     left join tbprofessores p ON p.idprofessor = tp.idprofessor
     where t.idturma=turma_atual and am.situacao='PP' and (notafinal is
null or notafinal<=3) -- pego todos as matérias que o aluno ficou de
dependência
   loop
    insert into tbalunos_modulo_pp
(rm,idaluno_modulo_disc_pp,idprofessor,idaluno_modulo_atual) values
     ( _rm,b.amdisc,b.prof,currval('
public.tbalunos_modulos_idaluno_modulo_seq'));
   end loop ;

  end if;
 end loop ;
end
$BODY$
  LANGUAGE 'plpgsql' VOLATILE;
ALTER FUNCTION fncPromoverAlunos(int4,int4) OWNER TO postgres;
Desde já agradeço;;;;;

Em 19/07/07, Leonardo Chaves <[EMAIL PROTECTED]> escreveu:
>
> posta pelo menos um deles ai .
>
> Em 19/07/07, Leo Matos <[EMAIL PROTECTED] > escreveu:
> >
> >  Pessoal,
> >
> > alguém utiliza labels para identificação de loops nas functions que
> > vcs criam?
> >
> > tenho uma function com vários for record in select .... loop, porém
> > gera erro de sintaxe:
> >
> > *ERROR: syntax error at or near "loop"
> > SQL state: 42601*
> >
> > Acho que vários já passaram por isso, alguém poderia me ajudar?
> >
> > Grato
> >
> > Leonardo Matos
> > [EMAIL PROTECTED]
> >
> > _______________________________________________
> > pgbr-geral mailing list
> > pgbr-geral@listas.postgresql.org.br
> > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
> >
> >
>
>
> --
> Att,
> Leonardo Chaves de Freitas
>
> QualiConsult
> Analista de Bando de Dados  - DBA
> _______________________________________________
> pgbr-geral mailing list
> pgbr-geral@listas.postgresql.org.br
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
>

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral




--
Att,
Leonardo Chaves de Freitas

QualiConsult
Analista de Bando de Dados  - DBA
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a