MSSQL 存储过程游标循环无法识别字段解决思路

MSSQL 存储过程游标循环无法识别字段
DECLARE IMPDataCheck_Cursor CURSOR FOR --声明游标
        select * from SJJH..B
OPEN IMPDataCheck_Cursor  --开启游标

FETCH NEXT FROM IMPDataCheck_Cursor --循环读取游标数据
WHILE @@FETCH_STATUS = 0

            if 
                   Name<>'' and Name is NULL and DATALENGTH(Name)/LEN(Name)=2   --条件成立
                              /*......我想要的操作........*/
            if
                    dbo.IdentNumValid(IdentNum)=1     --条件成立
                             /*......我想要的操作........*/    
            if
                    substring(Sex,1,1)  in (select DataName from A..S_Dict where DataTypeName='性别')     --条件成立
                              /*......我想要的操作........*/    
            if
                    Nation in (select DataName from A..S_Dict where DataTypeName='民族' )  --条件成立
                                /*......我想要的操作........*/

  FETCH NEXT FROM IMPDataCheck_Cursor
CLOSE IMPDataCheck_Cursor  --关闭游标
DEALLOCATE IMPDataCheck_Cursor   --释放游标




如上,B表中有Name,IdentNum,Sex,Nation 字段 游标循环 我项通过IF判断 条件成立则执行我项要的操作 但创建这个存储过程的时候总提示我 Name,IdentNum,Sex,Nation 这些列名无效 哪里错了  帮忙改下 谢谢 

------解决方案--------------------

declare @Name ....
fetch next from cursor1 into @Name,@IdentNum,@Sex,@Nation