PLSQL_Les03--游标.ppt_第1页
PLSQL_Les03--游标.ppt_第2页
PLSQL_Les03--游标.ppt_第3页
PLSQL_Les03--游标.ppt_第4页
PLSQL_Les03--游标.ppt_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、三.游标CURSOR,目标,完成本节课学习后,应当达到如下目标: 掌握处理游标所需的步骤。 通过游标的属性,对游标进行控制。 掌握不同种类的提取循环。,什么是游标,为了处理SQL语句,Oracle必须分配一片内存区域,这就是context are。这个区域包含了完成该语句的必需信息。 游标是指向context are的句柄或指针。通过游标,PL/SQL程序可以控制context are和在处理语句时context are发生些什么事情。 游标可分为显示游标和隐式游标,处理显示游标,显示游标的处理包括四个PL/SQL步骤: 声明游标(在声明部分) 打开游标(在执行部分) 将结果提取到PL/SQL

2、变量中(在执行部分) 关闭游标(在执行部分),声明游标,CURSOR cursor-name IS SELECT-statement; 注:这里的SELECT-statement不包含 INTO 子句,DECLARE v_Major VARCHAR2(1000); v_PLSQLBlock VARCHAR2(1000); CURSOR c_EconMajor IS SELECT * FROM students WHERE major = v_Major ; - 可以在定义游标的语句中使用前面已经定义的变量,打开游标,OPEN cursor_name;,当游标打开时: 联编变量的取值被检查。 根

3、据联编变量的取值,活动集被确定。 活动集的指针指向第一行。,从游标提取,FETCH cursor_name INTO list_of_variables; FETCH cursor_name INTO PL/SQL_record; 查询的INTO子句是FETCH语句的一部分。FETCH语句有以上两种形式。,cursor_name是已经声明并打开的游标 list_of_variable是已经被声明的变量的列表 PL/SQL_record是已经被声明的PL/SQL记录。 INTO子句中的变量类型必须与查询语句的选择列表的类型兼容。,关闭游标,CLOSE cursor_name;,cursor_na

4、me是原来已经打开的游标 一旦游标关闭就无法在提取数据,游标的属性,%FOUND %NOTFOUND %ISOPEN %ROWCOUNT,参数化游标,CURSOR c_Class(p_Dep classes.department%TYPE, p_Course classes.course) IS SELECT * FROM classes WHERE department = p_Dep AND course = p_Course;,OPEN时将参数传递给游标 OPEN c_Class(HIS,101);,隐式游标(SQL游标),与显示游标不同的是,SQL游标不被程序打开和关闭,PL/SQL隐

5、含 的打开SQL游标,处理其中的语句,然后关闭游标。 隐式游标用于处理INSERT, UPDATE, DELETE和单行的 SELECTINTO语句。,具有以下属性 SQL%NOTFOUND SQL%FOUND SQL%ROWCOUNT SELECTINTO语句找不到任何行时,触发 ORA-1403: no data found错误。,游标提取循环,简单循环 WHILE循环 游标式FOR循环,简单循环,使用简单循环LOOPEND LOOP;语法控制循环。,OPEN c_Cursor; LOOP FETCH c_Cursor INTO r_Cursor; EXIT WHEN c_Cursor%NOTFOUND; END LOOP;,WHILE循环,使用 WHILELOOP语法构建提取循环。,OPEN c_HistoryStudents; FETCH c_HistoryStudents INTO v_StudentData; WHILE c_HistoryStudents%FOUND LOOP FETCH c_HistoryStudents INTO v_StudentData; END LOOP;,游标式FOR循环,使用FOR循环,可以隐式地进行游标处理。,FOR v_StudentData IN c_HistoryStudents LOOP . END LOOP;,FOR循环

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论