Cursorfetch:Le nombre de variables déclarées dans le DANS la liste doit correspondre à celui des colonnes sélectionnées
declare @id int
declare @empid int
set @id = 0
declare @schedindate datetime
declare @ss nvarchar(100)
declare @indice nvarchar(2)
declare @FromDate datetime
declare @ToDate datetime
declare @TimeInR datetime
declare @TimeOutR datetime
set @FromDate = '2009-01-14'
set @ToDate = '2010-01-30'
Declare cc cursor for select distinct empid from ta_timecard where schedindate between @FromDate and @ToDate
open cc
fetch next from cc into @empid
while (@@fetch_status = 0)
begin
set @id = @id + 1
insert into ta_MonthlyAttendance (ID, EmpID) values (@id, @empid)
declare cc2 cursor for select distinct schedindate, TimeInR, TimeOutR from ta_timecard where empid = @empid and schedindate between @FromDate and @ToDate
open cc2
fetch next from cc2 into @schedindate, @TimeInR
while (@@fetch_status = 0)
begin
set @indice = cast(datediff(day, @fromdate, @schedindate) as nvarchar(4))
set @TimeInR = (select TOP 1 ta_TimeCard.TimeInR from ta_TimeCard where (@schedindate between @FromDate and @ToDate) and EmpID=@empid)
set @schedindate = (select TOP 1 ta_TimeCard.SchedInDate from ta_TimeCard where (@schedindate between @FromDate and @ToDate) and empid=@empid)
set @ss = 'update ta_MonthlyAttendance set NOD ' + @indice + ' = + dbo.ta_dayofweek('+ char(39) + convert(nvarchar(50), @schedindate, 102) + char(39) +' ) , TimeInR ' + @indice + ' = + @TimeInR + where empid = ' + cast(@empid as nvarchar(20))
execute sp_executesql @ss
fetch next from cc2 into @schedindate, @TimeInR
end
close cc2
deallocate cc2
fetch next from cc into @empid
end
close cc
Deallocate cc
ce code provoque une erreur à la ligne "fetch next à partir du ce2 en @schedindate, @TimeInR"
où est ma faute? je ne le trouve pas..
Je vous remercie..
OriginalL'auteur Nejthe | 2013-05-28
Vous devez vous connecter pour publier un commentaire.
Essayez celui -
Quelle est votre version de SQL Server?
sql server 2000, il n'existe pas dans cette version
S'il vous plaît essayer la mise à jour de réponse.
OriginalL'auteur Devart
Vous sélectionnez
schedindate, TimeInR, TimeOutR
mais la into a seulement@schedindate, @TimeInR
Raj
OriginalL'auteur Raj