[SQL2005][TSQL] Problème de curseur / Fonction ne "compile" pas
Bonjour !
Je tente, depuis une bonne heure déja, de créer une fonction vérifiant la disponibilité d'une salle (petit programme de gestion de réunions).
L'idée est assez simple : je charge dans un curseur toutes les réunions qui auront lieu dans la salle choisie et je vérifie a chaque fois que les dates/heures ne se chevauchent pas (via ma fonction "dbo.DateHeureSeChevauchent" qui, elle, fonctionne).
Le problème est que j'ai ce message d'erreur pas super précis :
"Msg 102, Level 15, State 1, Procedure IsSalleAvailabol, Line 21
Incorrect syntax near '='."
Quelqu'un a une idée de ce que j'aurai foiré ? Car la doc de msdn ne m'aide pas trop sur le coup :oops:
Merci d'avance !
François
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| SET ANSI_NULLS ON
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Description: <Vérifie Disponibilité Salle>
-- =============================================
CREATE FUNCTION [dbo].[IsSalleAvailabol] (@SAL_ID int, @DATE_DEB datetime, @DATE_FIN datetime)
RETURNS bit
AS
BEGIN
DECLARE @retVal bit
DECLARE @reu_id int, @var_hdeb datetime, @var_hfin datetime
DECLARE MY_CURSOR Cursor
FOR SELECT REU_ID, REU_DATE, REU_HFIN
FROM reunion
WHERE FK_REU_SAL_ID = @SAL_ID;
OPEN MY_CURSOR
FETCH NEXT FROM MY_CURSOR INTO @reu_id, @var_hdeb, @var_hfin
-- Ligne 21
WHILE @@FETCH_STATUS = 0
BEGIN
IF(dbo.DateHeureSeChevauchent(@DATE_DEB, DATE_FIN, var_hdeb, var_hfin = 1)
SELECT @retVal = 1
--EXIT
FETCH NEXT FROM MY_CURSOR INTO @reu_id, @var_hdeb, @var_hfin -- Nécessaire ou implicite au fait ?
END
CLOSE MY_CURSOR
DEALLOCATE MY_CURSOR
RETURN @retVal
END
GO |