日期:2014-05-17  浏览次数:20422 次

关于使用游标
通常使用游标总是这样写代码:

DECLARE Employee_Cursor CURSOR FOR 
SELECT LastName, FirstName FROM Northwind.dbo.Employees 
OPEN Employee_Cursor 
FETCH NEXT FROM Employee_Cursor 
WHILE @@FETCH_STATUS = 0 
BEGIN 
  FETCH NEXT FROM Employee_Cursor 
END 
CLOSE Employee_Cursor 
DEALLOCATE Employee_Cursor 

如何判断游标所指的结果集里有有效数据呢?使用@@fetch_status吗?通常怎样搭配?

------解决方案--------------------
@@fetch_status只是判断游标的运行状态而已,不保证有数据,如果你要判断有没有数据,最好使用if exists(select 1 from 表where 条件)这类型的判断。