Vérification de date [SQL SERVER 2K]
Dans ma base de données, j'ai sous forme DateTime deux champs, un pour mon début d'activité et un pour ma fin d'activité.
J'aimerais faire une procédure stockées qui me vérifie si lors de ma saisie suivante dans mon application si je n'ai pas deja inscrit dans la date sélectionnée une activité...
pour cela,j'utilise une procédure stockée qui me compte le nombre de lignes ou il y a deja une activité dans la période sélectionnée :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| CREATE PROCEDURE [ps_verif_Activite]
@DateDebut datetime,
@DateFin datetime,
@RefCollaborateur int
AS
BEGIN
SET @DateDebut = DATEADD(mi,1,@DateDebut)
SET @DateFin = DATEADD(mi,-1,@DateFin)
SELECT COUNT(DateDebut) FROM Activite
WHERE DateDebut BETWEEN @DateDebut AND @DateFin
OR DateFin BETWEEN @DateDebut AND @DateFin
AND RefCollaborateur = @RefCollaborateur
END
GO |
Je suis en train de tester mon application et je me rends compte que lorsque j'ai une activité qui est sur plusieurs jours, si je veux insérer une activité le dernier jour de mon activité dans une tranche qui est deja prise, il me retourne aucune ligne donc il considère qu'il n'existe pas d'activité dans cette tranche alors qu'il en existe...
Comment pourrais je optimiser ce code ?