PL/SQL笔记整理
来源:互联网 发布:java 时间选择控件 编辑:程序博客网 时间:2024/06/05 06:55
第一章:ref游标
Ref游标 又称 “动态游标”
(1)、在运行时使不同的语句与之关联
(2)、Ref游标可以使用游标变量
.游标变量
a. 一种引用类型
b. 可以再运行时指向不同的存储位置
c. Close语句关闭游标并释放用于查询的资源
.游标变量的类型
a.具有约束的游标变量
- 也就是具有返回类型的游标变量 也称为”强游标”
b.无约束的游标变量
- 也就是没有返回类型的游标变量 也称为 “弱游标”
declare type Refcur is ref cursor; --声明引用游标类型 游标返回的类型没有限制 varcur Refcur;--游标变量 type rec is record( sno varchar2(30), sname varchar2(30) ); --存储游标查询到得结果 arec rec; flag int:=0;beginflag :=&flag;if flag=0 thenopen varcur for select hs.student_no,hs.student_name from hand_student hs ;elsif flag=1 thenopen varcur for select ht.teacher_no,ht.teacher_name from hand_teacher ht ;elseopen varcur for select hc.course_no,hc.course_name from hand_course hc;--弱类型游标对目标表没有限制,数据可以使来自任何表end if;/* --for循环不能用于Ref游标,因为它是自动打开游标 for arec in varcur loop DBMS_output.put_line('no='||arec.sno ||' name:'||arec.sname); end loop;*/ loopexit when varcur%notfound;--如果没有查询到数据就退出fetch varcur into arec;DBMS_output.put_line('no='||arec.sno ||' name:'||arec.sname);end loop;close varcur;end;
2、强游标类型
---强型游标declaretype varcur is ref cursor return hand_student_core%rowtype;rec varcur;---游标变量arec hand_student_core%rowtype;---存储游标查询结果flag int:=0;begin flag:=&flag;if flag=0 then open rec for select * from hand_student_core where core<60;elsif flag=1 then open rec for select * from hand_student_core where core between 60 and 69 ;elsif flag=2 then open rec for select * from hand_student_core where core between 70 and 79 ;elsif flag=3 then open rec for select * from hand_student_core where core between 80 and 100 ;end if;loop exit when rec%notfound; fetch rec into arec; dbms_output.put_line(arec.student_no||' '||arec.course_no||' '||arec.core); end loop; close rec;end;
阅读全文
0 0
- PL/SQL笔记整理
- PL/SQL笔记整理
- 笔记--PL/SQL语句整理
- Oracle中的SQL * PLUS与PL/SQL笔记整理,SQL Plus输出结果格式化笔记整理
- PL/SQL详细整理
- pl/sql 整理
- pl sql整理
- PL/SQL学习笔记
- PL/SQL学习笔记
- pl/sql 笔记1
- PL/SQL学习笔记
- PL/SQL学习笔记
- PL/SQL学习笔记
- PL/SQL学习笔记
- 笔记081120----PL/SQL
- PL/SQL学习笔记
- PL/SQL学习笔记
- PL/SQL学习笔记
- 基于当当dubbox的provider部署及启动方式-main函数启动
- From .1:从屏保到Win平台开发
- tf1.基础结构
- 初学java--foreach循环语句的使用
- sqlite3数据库的移植
- PL/SQL笔记整理
- UVa1218 Perfect Service
- 反向传播算法
- 心急的C小加
- C之有趣-螺旋方阵
- Ubuntu编译内核驱动模块
- Unity3D NGUI的使用
- MySql删除外键语法 测试思路
- 重入锁