数据仓库服务 GAUSSDB(DWS)-显式游标:处理步骤
处理步骤
显式游标处理需六个PL/SQL步骤:
- 定义静态游标:就是定义一个游标名,以及与其相对应的SELECT语句。
定义静态游标的语法图,请参见图1。
参数说明:
- cursor_name:定义的游标名。
- parameter:游标参数,只能为输入参数,其格式为:
parameter_name datatype
- select_statement:查询语句。
根据执行计划的不同,系统会自动判断该游标是否可以用于以倒序的方式检索数据行。
定义动态游标:指ref游标,可以通过一组静态的SQL语句动态的打开游标。首先定义ref游标类型,然后定义该游标类型的游标变量,在打开游标时通过OPEN FOR动态绑定SELECT语句。
GaussDB (DWS)支持sys_refcursor动态游标类型,函数或存储过程可以通过sys_refcursor参数传入或传出游标结果集合,函数也可以通过返回sys_refcursor来返回游标结果集合。
- 打开静态游标:就是执行游标所对应的SELECT语句,将其查询结果放入工作区,并且指针指向工作区的首部,标识游标结果集合。如果游标查询语句中带有FOR UPDATE选项,OPEN语句还将锁定数据库表中游标结果集合对应的数据行。
打开静态游标的语法图,请参见图4。
打开动态游标:可以通过OPEN FOR语句打开动态游标,动态绑定SQL语句。
打开动态游标的语法图,请参见图5。
PL/SQL程序不能用OPEN语句重复打开一个游标。
- 提取游标数据:检索结果集合中的数据行,放入指定的输出变量中。
提取游标数据的语法图,请参见图6。
- 对该记录进行处理。
- 继续处理,直到活动集合中没有记录。
- 关闭游标:当提取和处理完游标结果集合数据后,应及时关闭游标,以释放该游标所占用的系统资源,并使该游标的工作区变成无效,不能再使用FETCH语句获取其中数据。关闭后的游标可以使用OPEN语句重新打开。
关闭游标的语法图,请参见图7。
- 数据仓库服务GaussDB(DWS)_SQL on Anywhere
- DWS安全_数据仓库服务安全_DWS数据安全管理_DWS安全保障_DWS安全策略
- 调用GaussDB(DWS) API接口_数据仓库服务调用API_如何调用API_在DWS中调用API
- DWS产品介绍_DWS产品优势_DWS功能_DWS使用场景_DWS是什么
- GaussDB(DWS)常用SQL_常用SQL命令_SQL语法
- DWS资源管理_GaussDB(DWS)资源管理作用_DWS资源管控
- GAUSS(DWS)工具_gsql工具_DataStudio工具_DSC工具
- 如何进行日志采集和转储_日志平台_日志接入_日志转储
- 数据库监控DMS_数据库智能运维_了解Auto Pilot_DMS_DWS节点监控
- GaussDB(DWS)服务_什么是IoT数仓_如何使用IoT数仓