《PLSQL中的游标》PPT课件.ppt

《PLSQL中的游标》PPT课件.ppt

ID:51598489

大小:408.55 KB

页数:36页

时间:2020-03-25

《PLSQL中的游标》PPT课件.ppt_第1页
《PLSQL中的游标》PPT课件.ppt_第2页
《PLSQL中的游标》PPT课件.ppt_第3页
《PLSQL中的游标》PPT课件.ppt_第4页
《PLSQL中的游标》PPT课件.ppt_第5页
资源描述:

《《PLSQL中的游标》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、PL/SQL中的游标游标的概念在PL/SQL程序中,对于处理多行记录的事务经常使用游标来实现。为了处理SQL语句,ORACLE必须分配一片叫上下文(contextarea)的区域来处理所必需的信息,其中包括要处理的行的数目,一个指向语句被分析以后的表示形式的指针以及查询的活动集(activeset)。游标是一个指向上下文的句柄(handle)或指针。通过游标,PL/SQL可以控制上下文区和处理语句时上下文区会发生些什么事情。游标的概念对于不同的SQL语句,游标的使用情况不同:SQL语句游标非查询语句隐式的结果是单行的查询语句隐式的或显示的结

2、果是多行的查询语句显示的显式游标处理显式游标需要四个PL/SQL步骤:定义游标:就是定义一个游标名,以及与其相对应的SELECT语句,其一般形式为:CURSORcursor_nameISselect_statement;其中:游标声明部分是唯一可以出现在模块声明部分的步骤,其他三个步骤都在执行或异常处理部分中游标名是标识符,所以也有作用域,并且必须在使用前进行说明任何SELECT语句都是合法的,但是SELECT…INTO语句是非法的在声明部分的末尾声明游标显式游标处理显式游标需要四个PL/SQL步骤:打开游标:就是执行游标所对应的SELEC

3、T语句,将其查询结果放入工作区,并且指针指向工作区的首部,标识游标结果集合。其中:PL/SQL程序不能用OPEN语句重复打开同一个游标OPENcursor_name显式游标处理显式游标需要四个PL/SQL步骤:提取游标:就是检索结果集合中的数据行,放入指定的输出变量中。FETCHcursor_nameINTO{variable_list

4、record_variable};显式游标处理显式游标需要四个PL/SQL步骤:关闭游标:当提取和处理完游标结果集合数据后,应及时关闭游标,以释放该游标所占用的系统资源,并使该游标的工作区变成无效,不能再使

5、用FETCH语句取其中数据。关闭后的游标可以使用OPEN语句重新打开。CLOSEcursor_name;显式游标例:查询前10名员工的信息。DECLAREv_enameemp.ename%TYPE;v_salemp.sal%TYPE;CURSORc_cursorISSELECTename,salFROMempWHERErownum<11;BEGINOPENc_cursor;FETCHc_cursorINTOv_ename,v_sal;WHILEc_cursor%FOUNDLOOPDBMS_OUTPUT.PUT_LINE(v_ename

6、

7、’

8、---‘

9、

10、to_char(v_sal));FETCHc_cursorINTOv_ename,v_sal;ENDLOOP;CLOSEc_cursor;END;参数化游标例:DECLAREv_enameemp.ename%TYPE;v_salemp.sal%TYPE;CURSORc_cursor(P_salemp.sal%type)ISSELECTename,salFROMempWHEREsal>=P_sal;BEGINOPENc_cursor(1000);FETCHc_cursorINTOv_ename,v_sal;WHILEc_curso

11、r%FOUNDLOOPDBMS_OUTPUT.PUT_LINE(v_ename

12、

13、’---‘

14、

15、to_char(v_sal));FETCHc_cursorINTOv_ename,v_sal;ENDLOOP;CLOSEc_cursor;END;游标属性属性描述%FOUND布尔型属性,当最近一次读记录时成功返回,则值为TRUE;%NOTFOUND布尔型属性,与%FOUND相反%ISOPEN布尔型属性,当游标已打开时返回TRUE;%ROWCOUNT数字型属性,返回已从游标中读取的记录数。游标属性DECLATECURSORC_cursoris……B

16、EGINOPENC_cursorFETCHC_cursorINTO……FETCHC_cursorINTO……FETCHC_cursorINTO……CLOSEC_cursorEND;%FOUND返回错误%FOUND为NULL%FOUND为TRUE%FOUND为TRUE%FOUND返回错误%FOUND为FALSE游标属性DECLATECURSORC_cursoris……BEGINOPENC_cursorFETCHC_cursorINTO……FETCHC_cursorINTO……FETCHC_cursorINTO……CLOSEC_cursorEN

17、D;%NOTFOUND返回错误%NOTFOUND为NULL%NOTFOUND为FALSE%NOTFOUND为FALSE%NOTFOUND返回错误%NOTFOUND为TRUE游标属

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。