I'm thinking not, due to the "SET @stdate=@stDate+@recalt" line...declare c1 cursor FAST_FORWARD for select distinct Classes.LessonID,DateStart,RecurEndDate,RecurAlt,RecurType,ClassID,Classes.CourseID from Classes inner join Subscription on Classes.CourseID=Subscription.CourseID and Subscription.StudentsID=@StudentsID and RecurType=1 open c1 fetch next from c1 into @lessonID,@stdate,@enddate1,@recalt,@recurtype,@classID,@courseID WHILE @@FETCH_STATUS=0 BEGIN WHILE ( DATEADD(dd,0,DATEDIFF(dd,0,@stdate))<= (DATEADD(dd,0,DATEDIFF(dd,0,@enddate1)))) BEGIN insert into #RecCalender (ClassDate,LessonID,ClassID,CourseID,RecurAlt,RecurType) values(@stdate,@lessonID,@classID,@courseID,@recalt,@recurtype) SET @stdate=@stdate+@recalt END fetch next from c1 into @lessonID,@stdate,@enddate1,@recalt,@recurtype,@classID,@courseID END CLOSE C1 DEALLOCATE C1