Errore nella Stored Procedure
Salve a tutti, a fatica sono riuscito a creare la mia prima stored procedure, ma quando cerco di eseguirla, mi da un errore che, per la mia poca esperienza, non riesco a trovare.
-> Da query browser chiamo la mia SP: CALL CreaOrarioGiornaliero('20080929','20081001',70);
-> Il messagguio d'errore è:
Unknown column 'DipId' in 'field list'
La SP è la seguente:
DELIMITER $$
DROP PROCEDURE IF EXISTS `xxx`.`CreaOrarioGiornaliero` $$
CREATE DEFINER=`root`@`%` PROCEDURE `CreaOrarioGiornaliero`(IN P_DatInizio VARCHAR(8),IN P_DatTermine VARCHAR(8),IN P_DipId INT)
BEGIN
DECLARE cont INT DEFAULT 0;
DECLARE fine INT DEFAULT 0;
DECLARE GiornoSett INT DEFAULT 0;
IF DipId = 0 THEN
DELETE FROM TbDipendentiOrarioGiorno WHERE TbDipendentiOrarioGiorno.Data>=DatInizio And TbDipendentiOrarioGiorno.Data<= DatTermine;
ELSE
DELETE FROM TbDipendentiOrarioGiorno WHERE TbDipendentiOrarioGiorno.Data>=DatInizio And TbDipendentiOrarioGiorno.Data<= DatTermine
And TbDipendentiOrarioGiorno.DipId= P_DipId;
END IF;
SELECT DATEDIFF(STR_TO_SDATE(P_DatInizio,'%Y%m%d'),STR_TO_DATE(P_DatTermine,'%Y%m%d')) INTO fine;
REPEAT
SET cont= cont+1;
SELECT WEEKDAY(DATEADD(STR_TO_SDATE(P_DatInizio,'%Y%m%d'),cont)) INTO GiornoSett;
IF DipId = 0 THEN
INSERT INTO TbDipendentiOrarioGiorno (DipId, Data, IdOrario, GiornoSettimana, Entrata, Uscita, EntrataCalcoli, UscitaCalcoli, StrE, StrU, MinTolleranzaE, MinTolleranzaU, FlessE, FlessU, EntrataSemiFest, UscitaSemiFest, AssegnaE, AssegnaU)
SELECT TbDipendenti.DipId, cont AS Data, TbDipendentiOrario.IdOrario, TbDipendentiOrario.GiornoSettimana, TbDipendentiOrario.Entrata, TbDipendentiOrario.Uscita, TbDipendentiOrario.EntrataCalcoli, TbDipendentiOrario.UscitaCalcoli, TbDipendentiOrario.StrE, TbDipendentiOrario.StrU, TbDipendentiOrario.MinTolleranzaE, TbDipendentiOrario.MinTolleranzaU, TbDipendentiOrario.FlessE, TbDipendentiOrario.FlessU, TbDipendentiOrario.EntrataSemiFest, TbDipendentiOrario.UscitaSemiFest, TbDipendentiOrario.AssegnaE, TbDipendentiOrario.AssegnaU
FROM TbDipendenti INNER JOIN TbDipendentiOrario ON TbDipendenti.DipId = TbDipendentiOrario.DipId
WHERE TbDipendentiOrario.GiornoSettimana=GiornoSett;
ELSE
INSERT INTO TbDipendentiOrarioGiorno (DipId, Data, IdOrario, GiornoSettimana, Entrata, Uscita, EntrataCalcoli, UscitaCalcoli, StrE, StrU, MinTolleranzaE, MinTolleranzaU, FlessE, FlessU, EntrataSemiFest, UscitaSemiFest, AssegnaE, AssegnaU)
SELECT TbDipendenti.DipId, cont AS Data, TbDipendentiOrario.IdOrario, TbDipendentiOrario.GiornoSettimana, TbDipendentiOrario.Entrata, TbDipendentiOrario.Uscita, TbDipendentiOrario.EntrataCalcoli, TbDipendentiOrario.UscitaCalcoli, TbDipendentiOrario.StrE, TbDipendentiOrario.StrU, TbDipendentiOrario.MinTolleranzaE, TbDipendentiOrario.MinTolleranzaU, TbDipendentiOrario.FlessE, TbDipendentiOrario.FlessU, TbDipendentiOrario.EntrataSemiFest, TbDipendentiOrario.UscitaSemiFest, TbDipendentiOrario.AssegnaE, TbDipendentiOrario.AssegnaU
FROM TbDipendenti INNER JOIN TbDipendentiOrario ON TbDipendenti.DipId = TbDipendentiOrario.DipId
WHERE TbDipendentiOrario.GiornoSettimana= GiornoSett And TbDipendentiOrario.DipId=DipId;
END IF;
UNTIL cont>=fine
END REPEAT;
END $$
DELIMITER ;
Sapete aiutarmi?