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

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

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 条件)这类型的判断。