临时表与表变量
http://blog.csdn.net/skyremember/article/details/3960687
DECLARE @WorkDays TABLE
(
workdaydate nvarchar(200) NULL --工作日日期
)
while(@SDate<=@EDate)
BEGIN
if(charindex(@SDate,@sql1+@sql2+@sql3+@sql4)>0)--存在此工作日
BEGIN
insert into @WorkDays
select (@SDate)
END
set @SDate=CONVERT(varchar(100), DATEADD(DAY,1,@SDate), 23)
END
游标
declare My_Cursor_EveryWorkDay cursor for
select count(userid) from #tempSource where cdate=@WorkDayDate and userid=@user
OPEN My_Cursor_EveryWorkDay --打开游标
FETCH NEXT FROM My_Cursor_EveryWorkDay into @num
while(@@FETCH_STATUS = 0 )
BEGIN
IF(@num=0)
BEGIN
insert into #tempSource
select
@user userid , --用户ID
u.depart departid , --部门ID
0 chidao , --迟到分钟数
0 zaotui , --早退分钟数
0 wtime , --工作分钟数
(select dbo.FUN_GetChuQinAndQueQin(u.itemid,@WorkDayDate,'QinJiaDays')) QinJiaDays, --请假天数
0 QinJiaHours, --请假小时
0 ChuQin , --正常出勤
(select dbo.FUN_GetChuQinAndQueQin(u.itemid,@WorkDayDate,'QueQin')) QueQin, --缺勤
@WorkDayDate cdate --考勤日期
from
yj_users u
-- left join #tempSource temp on u.itemid=temp.userid
where
U.itemid=@user
END
FETCH NEXT FROM My_Cursor_EveryWorkDay into @num
END
CLOSE My_Cursor_EveryWorkDay --关闭游标
DEALLOCATE My_Cursor_EveryWorkDay --释放游标