版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章第七章子程序和程序包2回顾 游标用于处理查询结果集中的数据 游标类型有:隐式游标、显式游标和 ref 游标 隐式游标由 pl/sql 自动定义、打开和关闭 显式游标用于处理返回多行的查询 显式游标可以删除和更新活动集中的行 要处理结果集中所有记录时,可使用循环游标 在声明 ref 游标时,不需要将 select 语句与 其关联3目标 创建和使用子程序 (重点) - 创建和使用程序包(重点)4专业英语 package包裹, 包 body身体,人,尸体,主要部分, 大量 pragmatic国事的, 团体事务的, 实际的 autonomous 自治的 transaction 处理, 会报, 交
2、易, 事务, 处理事务5子程序 2-1 命名的 pl/sql 块,编译并存储在数据库中。 子程序的各个部分: 声明部分 可执行部分 异常处理部分(可选) 子程序的分类: 过程 执行某些操作 函数 执行操作并返回值6子程序 2-2子程序的优点: 模块化 将程序分解为逻辑模块 可重用性 可以被任意数目的程序调用 可维护性 简化维护操作 安全性 通过设置权限,使数据更安全7过程 8-1 过程是用于完成特定任务的子程序 例如:前往售票厅询问关于车票的信息 排队等候 在柜台购买车票 8过程 8-2创建过程的语法:create or replace procedure ()is|as begin exce
3、ption end;创建过程,可指定运行过程需传递的参数处理异常 包括在过程中要执行的语句 9过程 8-3create or replace procedure find_emp(emp_no number)as empname varchar2(20);begin select ename into empname from emp where empno = emp_no; dbms_output.put_line(雇员姓名是 | empname);exception when no_data_found then dbms_output.put_line (雇员编号未找到);end fi
4、nd_emp;/10过程 8-4过程参数的三种模式: in 用于接受调用程序的值 默认的参数模式 out 用于向调用程序返回值 in out 用于接受调用程序的值,并向调用程序返回更新的值11过程 8-5sql create or replace procedure itemdesc(item_code in varchar2)is v_itemdesc varchar2(5);begin select itemdesc into v_itemdesc from itemfile where itemcode = item_code; dbms_output.put_line(item_cod
5、e| 项目的说明为|v_itemdesc);end;/sql set serveroutput onsql execute itemdesc(i201);执行过程的语法: execute procedure_name(parameters_list);12过程 8-6sql create or replace procedure test( value1 in varchar2, value2 out number )is identity number;begin select itemrate into identity from itemfile where itemcode = val
6、ue1; if identity set serverout onsql declare num1 number := 100; num2 number := 200;begin swap(num1, num2); dbms_output.put_line(num1 = | num1); dbms_output.put_line(num2 = | num2);end;/14过程 8-8 将过程的执行权限授予其他用户: 删除过程:sql grant execute on find_emp to martin;sql grant execute on swap to public;sql drop
7、 procedure find_emp;15函数 4-1 函数是可以返回值的命名的 pl/sql 子程序。 创建函数的语法: create or replace function (param1,param2)return is|as local declarationsbegin executable statements; return result;exception exception handlers;end;16函数 4-2q定义函数的限制:q函数只能接受 in 参数,而不能接受 in out 或 out 参数q形参不能是 pl/sql 类型q函数的返回类型也必须是数据库类型q访问
8、函数的两种方式:q使用 pl/sql 块q使用 sql 语句17函数 4-3 创建函数: 从 sql 语句调用函数:create or replace function fun_hello return varchar2isbegin return 朋友,您好;end;/sql select fun_hello from dual;18函数 4-4create or replace function item_price_range (price number) return varchar2 as min_price number; max_price number;begin select
9、 max(itemrate), min(itemrate) into max_price, min_price from itemfile; if price = min_price and price create or replace package cur_pack is cursor ord_cur(vcode varchar2) return order_master%rowtype; procedure ord_pro(vcode varchar2);end cur_pack;/sql create or replace package body cur_pack as curso
10、r ord_cur(vcode varchar2) return order_master%rowtype is select * from order_master where vencode=vcode; procedure ord_pro(vcode varchar2) is or_rec order_master%rowtype; begin open ord_cur(vcode); loop fetch ord_cur into or_rec; exit when ord_cur%notfound; dbms_output.put_line(返回的值为返回的值为 | or_rec.o
11、rderno); end loop; end ord_pro;end cur_pack;/28有关子程序和程序包的信息 user_objects 视图包含用户创建的子程序和程序包的信息 user_source 视图存储子程序和程序包的源代码select object_name, object_typefrom user_objectswhere object_type in (procedure, function, package, package body);select line, text from user_sourcewhere name=test;29总结 子程序是命名的 pl/s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026云南楚雄州武定县公安局发窝派出所招聘辅警1人备考题库完整答案详解
- 2026兴业银行厦门分行春季校园招聘备考题库附参考答案详解(精练)
- 2026兴业银行长春分行招聘备考题库附参考答案详解(综合题)
- 上海社区侨联工作制度
- 产城融合工作制度汇编
- 公安机关档案工作制度
- 公安值班值守工作制度
- 公安防火工作制度汇编
- 农机中心宣传工作制度
- 医疗卫生监督工作制度
- 国企全过程工程代建作业指导书
- 全国小学信息技术优质课教学课件-语音识别技术
- CT增强扫描的临床应用演示文稿
- 2023学年完整公开课版船舶防污漆
- 抗菌药物临床应用指导原则(2015版)
- 包装危险货物技术说明书
- 石灰石矿山破碎系统施工方案
- 新教材人教版2019年高中生物课本课后问题参考答案(全集)
- 海尔集团PIP-绩效改进计划
- 电池液冷系统的设计终稿
- GB/T 4798.5-2007电工电子产品应用环境条件第5部分:地面车辆使用
评论
0/150
提交评论