SQL Server中临时表与表变量 游标

来源:互联网 发布:古诗下载软件 编辑:程序博客网 时间:2024/05/21 11:02

临时表与表变量

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 --释放游标

 

 

0 0
原创粉丝点击