更新时间:2024-06-03 GMT+08:00

游标概述

为了处理SQL语句,存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标,存储过程可以控制上下文区域的变化。

  • 当存储过程使用returns返回游标时,如果使用JDBC调用该存储过程,返回的游标将不可用,使用out出参不受影响。
  • 存储过程内commit/rollback时,显式游标为保证在commit/rollback后仍可用,会缓存游标所有数据,若游标数据量较大,此过程耗时可能较长。
  • 在存储过程内修改表数据后,开启与该表相关的游标,并在rollback后继续FETCH游标内的数据,会产生报错。

游标的使用分为显式游标和隐式游标。对于不同的SQL语句,游标的使用情况不同,详细信息请参见表1

表1 游标使用情况

SQL语句

游标

非查询语句

隐式的

结果是单行的查询语句

隐式的或显式的

结果是多行的查询语句

显式的