Ola pessoal beleza, to estagiando a menos de 2 meses com PHP e me foi passado uma tarefa eu tenho q listar (Listar nomes de alunos com depencia, Quantidade de alunos com dependência, Disciplinas que apresentam dependência). Essa chamada e feita de uma Stored Procedure ela ta prontinha mas eu to com muita dificuldade em manipular o PHP e exibir os resultados..
Se alguém puder me ajudar fico grato.. Segue a procedure:
DECLARE VARIABLE QTDEAUX SMALLINT;
DECLARE VARIABLE QTDE SMALLINT;
BEGIN
/*
utilizar o comando abaixo caso queira o numero de alunos por disciplina
select disccodaux, discnome, count(*) froM GET_DEPENDENCIAS ('grad','001','',1,2009) group by disccodaux, discnome
*/
FOR
SELECT DISTINCT DISCCOD FROM TB_GRADEDISC
WHERE CURSOCOD = :CURSOCOD_IN AND
STATUS = 'AT' AND
(:DISCCOD_IN = '' OR (:DISCCOD_IN !='' AND DISCCOD = :DISCCOD_IN))
INTO :DISCCODAUX
DO
BEGIN
FOR
select matr, NOME, tb_alunosgrades.CURSOCOD,
tb_alunosgrades.GRADECOD, PERIODOCORRENTE
from tb_alunosgrades, TB_PESSOAS
where TB_ALUNOSGRADES.CURSOCOD = :CURSOCOD_IN AND
TB_ALUNOSGRADES.status = 'A' AND
TB_ALUNOSGRADES.CODPESSOA = TB_PESSOAS.CODPESSOA AND
Pergunta
St@nder
Ola pessoal beleza, to estagiando a menos de 2 meses com PHP e me foi passado uma tarefa eu tenho q listar (Listar nomes de alunos com depencia, Quantidade de alunos com dependência, Disciplinas que apresentam dependência). Essa chamada e feita de uma Stored Procedure ela ta prontinha mas eu to com muita dificuldade em manipular o PHP e exibir os resultados..
Se alguém puder me ajudar fico grato.. Segue a procedure:
DECLARE VARIABLE QTDEAUX SMALLINT;
DECLARE VARIABLE QTDE SMALLINT;
BEGIN
/*
utilizar o comando abaixo caso queira o numero de alunos por disciplina
select disccodaux, discnome, count(*) froM GET_DEPENDENCIAS ('grad','001','',1,2009) group by disccodaux, discnome
*/
FOR
SELECT DISTINCT DISCCOD FROM TB_GRADEDISC
WHERE CURSOCOD = :CURSOCOD_IN AND
STATUS = 'AT' AND
(:DISCCOD_IN = '' OR (:DISCCOD_IN !='' AND DISCCOD = :DISCCOD_IN))
INTO :DISCCODAUX
DO
BEGIN
FOR
select matr, NOME, tb_alunosgrades.CURSOCOD,
tb_alunosgrades.GRADECOD, PERIODOCORRENTE
from tb_alunosgrades, TB_PESSOAS
where TB_ALUNOSGRADES.CURSOCOD = :CURSOCOD_IN AND
TB_ALUNOSGRADES.status = 'A' AND
TB_ALUNOSGRADES.CODPESSOA = TB_PESSOAS.CODPESSOA AND
TB_ALUNOSGRADES.PERIODOCORRENTE != 11 AND 'F' =
(SELECT RESULTADO FROM VERIFICATRANCAMENTO
(TB_ALUNOSGRADES.CURSOCOD , TB_ALUNOSGRADES.GRADECOD ,
TB_ALUNOSGRADES.MATR, :ANOPROC_IN, :PERPROC_IN) )
ORDER BY tb_alunosgrades.CURSOCOD, MATR, NOME
INTO :MATR, :NOME, :CURSOCOD, :GRADECOD, :PERCORRALUNO
DO
BEGIN
QTDE=0;
QTDEAUX =0;
SELECT COUNT(*)
FROM GET_ALUDISCINDIVIDUALAPR
(:CURSOCOD, :GRADECOD, :MATR, :DISCCODAUX)
INTO :QTDEAUX;
IF (QTDEAUX=0) THEN
BEGIN
PERIODODISCIPLINA = 0;
SELECT ANOPER FROM TB_GRADEDISC
WHERE TB_GRADEDISC.CURSOCOD = :CURSOCOD AND
TB_GRADEDISC.GRADECOD = :GRADECOD AND
TB_GRADEDISC.DISCCOD = :DISCCODAUX AND
TB_GRADEDISC.anoPER <= :PERCORRALUNO + 1
INTO :PERIODODISCIPLINA ;
/* tirar a linha TB_GRADEDISC.PERANO <= PERCORR + 1 quando entrar em vigor a norma de ano equivalente ao ano de entrada */
IF(PERIODODISCIPLINA !=0) THEN
BEGIN
SELECT FIRST 1 DISCNOME FROM GET_DISCIPLINAS(:SUBSISTEMA) WHERE DISCCOD = :DISCCODAUX INTO DISCNOME ;
SUSPEND;
END
END
END
END
END
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.