1 声明游标:declare 游标名称 cursor 相关参数 for select 语句;

     2 游标的作用域:a 局部,只能在创建它的批处理中使用; b 全局. 游标的作用域在声明游标时指定的;

       这里有两个全局变量值得注意一下,@@cursorrows,将返回游标中的行数,若采用异步的方式填充游标,则@@cursorrows返回一个负数(所谓异步填充游标,应  该是没有在声明游标时就填充游标吧,不知这样理解对不对?).  @@fetch_status返回在最近一次执行fetch命令之后游标的状态,@@fetch_status=0表示最近一次fetch命令成功的获取到一行数据; @@fetch_status=1表示最近一次fetch命令到达结果集的尾部; @@fetch_status=2表示最近获取的行不可用,改行已被删除.一般@@fetch_status变量与while命令配合是用来创建循环

    3 open 游标名称, 打开游标.

    4执行游标即fetch命令, next/prior表示返回当前行之后/前的结果行,并且当前行递增/减为结果行;frist/last返回游标中第一行/(最后一行)并将其作为当前行;absolute{n|@nvar}若n|@nvar为正数返回从游标头开始的第n行并将返回的行作为当前行;若n|@nvar为负数返回游标结尾之前第n行并将返回行作为当前行,若n|@nvar=0则没有返回行.  

      相似的relative{n|nvar},若n|@nvar为正数则返回当前行之后的第n行并将其作为返回行,n|@nvar为负数返回当前行之前的,n|@nvar=0返回当前行.

      sursor_name要从中提取的开放游标的名称,这个不怎么理解?

      global指定sursor_name为全局游标.

      @cursor_variable游标变量名,引用要进行提取操作的打开的游标.

      into @cursor_variable容许将提取操作的列数据放到局部变量中

     5 close 游标名称,  关闭名称.

     6 deallocate 游标名称,  释放游标.

posted on 2009-06-04 01:13  落漠  阅读(306)  评论(0编辑  收藏  举报