栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Cursorfetch:在INTO列表中声明的变量数量必须与所选列的数量匹配

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Cursorfetch:在INTO列表中声明的变量数量必须与所选列的数量匹配

试试这个-

DECLARE       @empid INT    , @schedindate DATETIME    , @ss NVARCHAr(100)    , @indice NVARCHAr(2)    , @FromDate DATETIME    , @ToDate DATETIME    , @TimeInR DATETIME    , @TimeOutR DATETIMESELECt       @FromDate = '20090114'    , @ToDate = '20100130'DECLARE @temp TABLE(      schedindate DATETIME    , TimeInR VARCHAr(10)    , TimeOutR VARCHAr(10)    , empid INT)INSERT INTO @temp (schedindate, TimeInR, TimeOutR, empid)SELECt DISTINCT      schedindate    , TimeInR    , TimeOutR    , empid FROM dbo.ta_timecardWHERe schedindate BETWEEN @FromDate AND @ToDateDECLARE @ids TABLE(id BIGINT IDENTITY(1,1), emp BIGINT)INSERT INTO @ids (emp)SELECt DISTINCT empidFROM @tempINSERT INTO dbo.ta_MonthlyAttendance(id, EmpID)SELECt id, empFROM @idsDECLARE cc CURSOR LOCAL FAST_FORWARD READ_onLY FOR    SELECt DISTINCT empid    FROM @tempOPEN ccFETCH NEXT FROM cc INTO @empidWHILE (@@fetch_status = 0) BEGIN    SELECt          @indice = CAST(DATEDIFF(DAY, @fromdate, t.SchedInDate) AS NVARCHAr(4))        , @TimeInR = t.TimeInR        , @schedindate = t.SchedInDate    FROM @temp t    WHERe empid = @empid    SELECt @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))    EXEC sys.sp_executesql @ss    FETCH NEXT FROM cc INTO @empidENDCLOSE ccDEALLOCATE cc


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/404670.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号