Oracle游标

1.游标的介绍

游标是构建在PL/SQL中,用来查询数据,获取记录集合的指针。当PL/SQL游标查询返回多行数据时,这些记录组被称为活动集。Oracle将这种活动集存储在已创建的显示定义的已命名的游标中。Oracle游标是一种用于轻松地处理多行数据的机制,如果没有游标,Oracle开发人员必须单独地、显示的取回并管理游标查询选择的每一行记录。游标的另一个功能是,他包含一个跟踪当前访问的指针,这使程序能够一次处理多条记录。

2.游标的类型

1)隐式游标、

2)显示游标

3)循环游标

4)REF游标

2.1隐式游标的属性

1>    %FOUND:表示当前游标是否指向有效行,若是则值为TRUE

2>    %NOTFOUND:%NOTFOUND属性与%FOUND属性作用正好相反。如果DML语句没有影响任何行,则%NOTFOUND属性将返回TRUE

3>    %ROWCOUNT:%ROWCOUNT属性返回已从游标中读取的记录数。如果DML语句没有影响任何行,则%ROWCOUNT属性将返回0

4>    %ISOPEN:%ISOPEN属性返回游标是否是已打开的值。在执行SQL语句后,Oracle自动关闭SQL游标,所以隐式游标的%ISOPEN属性始终为FALSE

3.显示游标

使用显示游标的基本步骤:1.声明游标

                                      语法:CURSOR cursor_name[(parameter [,parameter]...)]

                                                [RETURN return_type] IS select_statement;

                                                cursor_name:指游标的名称

                                                parameter:用于为游标指定输入参数

                                                return_type:定义游标提取行的类型

                                                select_statement:指游标定义的查询语句

                                      2.打开游标

                                      语法:OPEN cursor_name[(parameters)];

                                                cursor_name:指游标的名称

                                      3.从游标取回数据

                                      语法:FETCH cursor_name INTO variables;

                                                cursor_name:指游标名称

                                                variables:变量名

                                      4.关闭游标

                                      语法:CLOSE cursor_name;

4.循环游标

语法:FOR <record_index> IN <cursor_name>

          LOOP

            <executable statements>

          END LOOP;

          record_index是PL/SQL声明的记录变量,作用域在FOR循环之内,即在FOR循环之外不能访问此变量。

5.REF游标

语法:TYPE ref_cursor_name IS REF CURSOR

            [RETURN record_type]

        return语句为可选语句,用于指定游标提取结果集的返回类型。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值