Nova ajuda com Stored Procedure (Quase lá)
Pessoal, tive um problema com uma stored procedure (pode-se observar o post logo abaixo no fórum) e, com ajuda de vcs do fórum, consegui compilar e rodar a sp. O código dela é:
Como se pode ver eu faço um loop baseado entre duas datas para preencher o resultado da select numa tabela temporária. O meu problema é que somente a data inicial está preenchendo a tabela e eu valores para outras datas, é como se a variável DATAMINHA nunca fosse incrementada. Detalhe: na versão trial do IBExpert eu depurei (debug) a sp e deu o loop certo. Alguém tem alguma idéia pq somente a data inicial está gerando dados?
Outra coisa: pq eu tive que comentar a linha do ORDER BY? Onde está errada essa linha? Se eu usar a select que tem ele FORA da sp roda tudo bem, prova que a select tá correta.
Galera,
Obrigado pela ajuda!
[]s
Willian
CREATE PROCEDURE GERA_FALTA ( DATAINI DATE, DATAFIM DATE) AS DECLARE VARIABLE DATAMINHA DATE; BEGIN DATAMINHA = :DATAINI; WHILE (DATAMINHA <= :DATAFIM) DO BEGIN INSERT INTO TMP_FALTAS SELECT DISTINCT :DATAMINHA AS DATA, HORARIO.MATRICULA FROM HORARIO WHERE HORARIO.MATRICULA NOT IN (SELECT MATRICULA FROM PRESENCA WHERE DATA = :DATAMINHA) AND DIA = (EXTRACT(WEEKDAY FROM :DATAMINHA)+1); --ORDER BY HORARIO.MATRICULA; DATAMINHA = DATAMINHA + 1; SUSPEND; END END
Como se pode ver eu faço um loop baseado entre duas datas para preencher o resultado da select numa tabela temporária. O meu problema é que somente a data inicial está preenchendo a tabela e eu valores para outras datas, é como se a variável DATAMINHA nunca fosse incrementada. Detalhe: na versão trial do IBExpert eu depurei (debug) a sp e deu o loop certo. Alguém tem alguma idéia pq somente a data inicial está gerando dados?
Outra coisa: pq eu tive que comentar a linha do ORDER BY? Onde está errada essa linha? Se eu usar a select que tem ele FORA da sp roda tudo bem, prova que a select tá correta.
Galera,
Obrigado pela ajuda!
[]s
Willian
Willian
Curtidas 0