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 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