首页 理论教育 使用游标处理SELECT语句返回数据|JAVA程序设计研究

使用游标处理SELECT语句返回数据|JAVA程序设计研究

时间:2023-11-05 理论教育 版权反馈
【摘要】:使用带参数的游标查询部门的员工信息。对于数据操纵语句和单行SELECT INTO语句来说,Oracle会为它们分配隐含游标。在Oracle 9i之前,为了处理SELECT语句返回的多行数据,开发人员必须要使用显式游标;从Oracle 9i开始,开发人员既可以使用显式游标处理多行数据,也可以使用SELECT..BULK COLLECT INTO语句处理多行数据。显式游标是用户显式声明的,可用于操作SELECT语句的返回数据。REF游标又称为动态游标,可执行动态的SELECT语句。

使用游标处理SELECT语句返回数据|JAVA程序设计研究

使用带参数的游标查询部门的员工信息。

与SQL Server不同,PL/SQL块中不能写查询语句,如需在PL/SQL语句块中执行查询并处理查询结果,则需要用到游标。当在PL/SQL块中执行查询语句(SELECT)和数据操纵语句(DML)时,Oracle会为其分配上下文区(Context Area),游标是指向上下文区的指针。对于数据操纵语句和单行SELECT INTO语句来说,Oracle会为它们分配隐含游标。在Oracle 9i之前,为了处理SELECT语句返回的多行数据,开发人员必须要使用显式游标;从Oracle 9i开始,开发人员既可以使用显式游标处理多行数据,也可以使用SELECT..BULK COLLECT INTO语句处理多行数据。

Oracle中每个游标都有游标属性,通过游标属性用于返回游标的执行信息,这些属性包括%ISOPEN、%FOUND、%NOTFOUND和%ROWCOUNT。当使用游标属性时,必须要在游标属性之前带有游标名作为前缀。

1.ISOPEN

该属性用于确定游标是否已经打开。如果游标已经打开,则返回值为TURE;如果游标没有打开,则返回值为FALSE。对于隐式游标而言,该值永远为FALSE。

2.FOUND

该属性用于检查是否从结果集中提取了数据。如果提取了数据,则返回值为TRUE;如果未提取到数据,则返回值为FALSE。

3.NOTFOUND

该属性与%FOUND属性恰好相反。如果提取到数据,则返回值为FALSE;如果没有提取到数据,则返回值为TRUE。(www.xing528.com)

4.ROWCOUNT

该属性用于返回到当前行为为止已经提取到的实际行数。

在Oracle中,游标分为隐式游标、显式游标和REF游标。隐式游标是执行SQL语句时,Oracle自动创建的,用于查看SQL语句的执行状态。显式游标是用户显式声明的,可用于操作SELECT语句的返回数据。REF游标又称为动态游标,可执行动态的SELECT语句。

使用显式游标的一般步骤为:

(1)声明游标变量

(2)打开游标;

(3)循环游标;

(4)关闭游标。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈