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

时间:2013-08-21 16:44:51

标签: sql sql-server tsql cursor

我已多次检查过这个问题。列数匹配但我一直收到错误,说fetch into语句与计数

不匹配
declare cur_range CURSOR FOR
SELECT 
GroupID,
OddEven,
RangeLow,
RangeHigh
PostCode1,
PostCode2,
ID,
OldPrimaryID,
ThFareID
FROM tmpNewPrimaryRange;    

OPEN cur_range

FETCH NEXT FROM cur_range
into
 @cur_GroupID
 , @cur_OddEven
 , @cur_RangeLow
 , @cur_RangeHigh
 , @cur_PostCode1
 , @cur_PostCode2
 , @cur_ID
 , @cur_OldPrimaryID
 , @cur_ThFareID
  

错误:Cursorfetch:INTO列表中声明的变量数必须与所选列的变量数相匹配。

1 个答案:

答案 0 :(得分:12)

如果您在列之前或之后的逗号位置一致,您可能已经发现了这一点:

declare cur_range CURSOR FOR
SELECT 
GroupID,
OddEven,
RangeLow,
RangeHigh    --- <-- ******* NO COMMA HERE ******
PostCode1,
PostCode2,
ID,
OldPrimaryID,
ThFareID

这是SELECT ... RangeLow, RangeHigh AS PostCode1, PostCode2 ...