`

数据库总结四游标

 
阅读更多

打开游标

语法格式:OPEN [GLOBAL] 游标名

Ø  当游标被打开时,行指针会指在第一行之前

Ø  打开游标后,如果 @@error=0表示打开操作成功

Ø  打开游标后,可用 @@cursor_rows返回游标记录数

ü  -m 游标被异步填充.-m是键集中当前的行数

ü  -1 游标为动态。符合条件记录的行数不断变化

ü  0 没有符合的记录、游标没打开、关闭或释放

ü  n 游标已完全填充。n是在游标中的总行数

 

数据处理(1)  提取数据

语法格式:

fetch [[next|prior|first|last | absolute n |relative n]

  from] [global] 游标名

  [into @变量名[, ...n ]]

功能:在查询记录集中移动指针并提取一行数据。

Ø  First  第一行;

Ø  Next   下一行;

Ø  Prior  上一行;

Ø  Last   最后一行;

Ø  absolute n n>0, 第一行开始正数的第n行;

Ø             n<0, 最后一行开始倒数的第n行;

Ø  relative n n>0, 从当前行开始正数的第n行;

Ø             n<0, 从当前行开始倒数的第n行。

 

注意:

Ø  查询结果用into子句写入局部变量,须先声明局部变量的类型和宽度,且与select 语句中相应列的顺序、类型和宽度一致。

Ø  第一次执行fetch next,则将获取游标中的第一行数据。

Ø  打开游标后第一次执行fetch prior,则得不到任何数据。

Ø  @@fetch_status返回执行FETCH操作之后,当前游标指针的状态。状态值如下:

ü  0 表示行已成功地读取。

ü  -1 表示读取操作已超出了结果集。

ü  -2 表示行在表中不存在。

数据处理(2)  修改数据

语法格式:

update from 表或视图

  set 列名=表达式,…

  where current of 游标名

功能:修改当前行指定字段的值

数据处理(3)  删除数据

语句格式:

delete from 表或视图

  where current of 游标名

功能:

    删除游标名指定的当前行数据。

关闭/释放游标

关闭游标

打开游标时锁定与其关联的查询结果集。

关闭完游标后释放与游标关联的查询结果集。

语法格式:

CLOSE [GLOBAL] 游标名

释放游标

释放游标,即释放其占用系统资源。

语法格式:

  DEALLOCATE [GLOBAL] 游标名

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics