版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、游标 环境区域是用来处理 SQL 语句的一个 oracle 存储区域。游标是指向它的指针或 句柄。通过游标, PL/SQL 程序可以控制这个环境区域中被处理的语句。Oracle 中的游标有两种:显式游标、隐式游标。显示游标是用cursor.is命令定义的游标,它可以对查询语句(select)返回的多条 记录进行处理,而隐式游标是在执行插入 (insert)、删除(delete)、修改(update和 返回单条记录的查询(select语句时由PL/SQL自动定义的。1、显式游标操作 显式游标在块定义部分、包或子程序中声明。当声明了显式游标后,可以通 过以下三条命令控制显式游标的操作:打开游标、推
2、进游标、关闭游标。(1) 声明显式游标v_auths auths%rowtype;v_code auths.author_code%type;cursor c_auths is select * from auths where author_code=v_code; 以下是将游标参数绑定在游标的 WHERE 子句中 cursor c_auths(p_code auths.author_code%type) is select * from auths where author_code=p_code;(2) 打开显式游标在打开游标前为绑定变量赋值 v_code:='A00001
3、9;打开游标open c_auths;对于一个带参数的游标,打开游标时将参数传入open c_auths('A00001');打开一个已打开的游标也是合法的。当第二次打开游标时, PL/SQL 先自 动关闭游标,然后再打开。一次打开多个游标也是 PL/SQL 所允许的。(3) 推进显式游标当打开显式游标后, 就可以使用 FETCH 语句来推进游标, 返回查询结果 集中的一行。每执行完一条FETCH语句后,显式游标会自动指向查询结 果集的下一行。Loopfetch c_auths into v_auths;退出条件exit when c_auths %notfound;处理过程。
4、End loop;(4) 关闭显式游标当整个结果集都检索完以后,应当关闭游标。关闭游标用来通知 PL/SQL 游标操作已经结束,并且释放游标所占用的资源(结果集所使用的资源空间)。close c_auths;(5)2、游标的属性游标有四个属性:found、notfound、isopen和rowcount。要注意这些 属性只能使用在过程性语句中,而不能使用在 SQL 语句中。3、隐式游标处理PL/SQL 隐式地打开 SQL 游标,并在它内部处理 SQL 语句,然后关闭它。 SQL 游标用来处理insert、update delete以及返回一行的select.nto语句。 一个SQL游标不管是打
5、开还是关闭,open、fetch和close命令都不能操作它。SQL游标与显式游标类似,也有四个一样的属性。当打开SQL游标之前,SQL 游标的属性都为 NULL 。begin update auths set entry_date_time=sysdate where author_code='A00017' -如果update语句中修改的行不存在(SQL%notfound返回值为true),则向auths表中插入一行。if sql%nofound theninsert into auths(author_code,name,sex,birthdate,salary,entr
6、y_date_time) values('A000017','qiuys',1,'30-apr-40',88.5,sysdate);end if;end;declarev_birthdate date;beginselect birthdate into v_birthdate from auths where name='qiuys'-如果查询到一条记录,则删除该记录。if sql%found thendelete from auths where name='qiuys'end if;exceptionwhen
7、 no_data_found then dbms_output.put_line(该记录不存在');when too_many_rows then dbms_output_line(存在同名的作家');end;4、静态游标显示游标和隐式游标即游标与一个 SQL 语句关联,并且该 SQL 语句在编译时已经确定5、游标变量是一个引用类型(REF)的变量。6、定义游标变量type t_authorsref is ref cursor return auths%rowtype;v_authscv t_authorsref;7、打开游标变量open v_authscv for select * from auths;可以指定一个存储有 SQL 语句的变量 v_sql := select * from t_pcs' Open v_authscv for v_sql;定义了一个没有指定结果集的游标变量,这样我们就可以使用这个游标变量 指向不同的查询,并能够返回不同的记录类型type t_curref is ref cursor;第一次关闭游标变量是可省略的,因为在第二次打开游标变量时,就将第一 次的查询丢失掉了。而且游
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 深度解析(2026)《GBT 328.4-2007建筑防水卷材试验方法 第4部分:沥青防水卷材 厚度、单位面积质量》
- 电动工具定转子制造工岗前岗位责任制考核试卷含答案
- 井下作业工具工岗前实操知识实践考核试卷含答案
- 采油测试工班组协作知识考核试卷含答案
- 钢琴及键盘乐器制作工QC考核试卷含答案
- 冷食品制作工安全风险测试考核试卷含答案
- 有机介质电容器装配工安全实操强化考核试卷含答案
- 氘恩扎鲁胺软临床应用考核试题
- 某陶瓷厂陶瓷生产流程规范
- 沈抚同城化进程中政府协调机制的构建与优化研究
- 特种设备管理制度
- 2026贵州乌江能源黔南抽水蓄能有限责任公司招聘15人备考题库附答案详解(完整版)
- 2024-2025学年北京市房山区七年级(下)期中数学试卷及答案解析
- 《基于无人机平台的架空输电线路作业成套装备 验电与接地线装拆装置》
- 港口通信监控监理实施细则
- 2026教科版(新教材)小学科学三年级下册期中复习检测试卷及答案(共三套)
- 2026吉林省职工服务有限责任公司(拟成立) 招聘10人备考题库及一套答案详解
- 2025建安杯信息通信建设行业安全竞赛试题库
- 2026广东珠海高新技术产业开发区党政办公室招聘合同制职员2人考试参考试题及答案解析
- 2025年中国文物交流中心面向社会招聘高层次专业技术人员(1人)笔试试题及答案
- 声部介绍歌混声四部合唱谱
评论
0/150
提交评论