
# 游标概述
为了处理SQL语句，存储过程进程分配一段内存区域来保存上下文联系。游标是指向上下文区域的句柄或指针。借助游标，存储过程可以控制上下文区域的变化。
![](https://support.huaweicloud.com/distributed-devg-v8-gaussdb/public_sys-resources/notice_3.0-zh-cn.png)
- 当存储过程使用returns返回游标时，如果使用JDBC调用该存储过程，返回的游标将不可用，使用out出参不受影响。
- 在分布式下，当SQL语句中调用的存储过程参数为refcursor类型或返回值为refcursor类型时，不支持下推。
- 存储过程内commit/rollback时，显式游标为保证在commit/rollback后仍可用，会缓存游标所有数据，若游标数据量较大，此过程耗时可能较长。
 
游标的使用分为显式游标和隐式游标。对于不同的SQL语句，游标的使用情况不同，详细信息请参见[表1]。
 表1游标使用情况 
| SQL语句      | 游标      |
|:---|:---|
| 非查询语句      | 隐式的     |
| 结果是单行的查询语句 | 隐式的或显式的 |
| 结果是多行的查询语句 | 显式的     |
   
