@@fetch_status 这个值通常用来判断取回数据的状态对吧。可如果我写
 while  (@@fetch_status = 0)
begin
(SQL操作)
end
他所影响的行就比我预期的多一行,但结果正确。
而我写成
 while  (@@fetch_status <> -1)
begin
IF (@@fetch_status <> -2)
BEGIN
(sql操作)
end
END
影响的行数就正常了,结果也正常。
为什么呢,只要成功了,@@fetch_status不就是0么?不过我见高手都是用第二种方式的。能不能详细解释一下其中的原理。谢谢