MySQL Forums
Forum List  »  Italian

Errore nella Stored Procedure
Posted by: Davide Quadrio
Date: October 06, 2008 03:35AM

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?

Options: ReplyQuote


Subject
Views
Written By
Posted
Errore nella Stored Procedure
4384
October 06, 2008 03:35AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.