declare [游标名] scroll cursor for 
select * from [tablename]
order by [字段名]fetch first from:取第一行
fetch next from:下一行
 ...  last ...:最后
...prior...:前一行
...relative...:按相对位置取数
...absolute...:按绝对位置取数据

解决方案 »

  1.   

    那再问一下,下面这个存储过程怎么改才能返回可滚动的结果集:
     ALTER PROCEDURE dbo.ListUserAlerts
    (
    @uid int = -1
    )
    AS
    if (@uid <> -1)
    SELECT * FROM Alerts WHERE (UID = @uid)
    else
    RETURN
      

  2.   

    ALTER PROCEDURE dbo.ListUserAlerts 
         @uid int = -1,
    @stcursor cursor varying output


    AS
    if (@uid <> -1)begin
    set @stcursor=  cursor static for
    SELECT * FROM Alerts WHERE (UID = @uid)
    open @stcursor 
    end
    return
    else
    RETURN