版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四,PL/SQL应用程序,本章中的学习目的本章介绍了PL/SQL的过程、函数、触发器、包概念以及应用程序设置和调试方法。 4.1进程4.2函数4.4 PL/SQL计程仪程序的开发和调试4.5触发器、4.1进程、4.1.1进程的创建4.1.3进程的调用释放、4.1.1进程的创建方式2 ) IS|AS本地声明BEGIN PL/SQL进程CREATE OR REPLACE表示要更改数据库中的现有存储过程。 在本地声明中,过程中提供的残奥仪表不需要用DECLARE残奥仪表方法(1)In来表示。 (2)Out表示残奥仪表被代入过程中,传递到整个过程外部。 (3)in out表示这样的残奥仪表既可以向进
2、程主体传递值,也可以向进程主体分配值。 实例,创建流程销售额(EMP _ id integer,管理实际) is current _销售实际。 销售_缺少检查; beginselectsalintocurrent _ salaryfromempwhereempno=EMP _ id。 if current _ salaryisnullthenraisesalary _缺少。 elseupdateempsetsal=salamountwhereempno=EMP _ id。 终点if; 执行时间变更值(EMP _ id,没有搜寻机会)。的时间变更值(data _ foundtheninserti
3、ntoemp _ audit values )。 关于销售额的评估值(EMP _ id,销售额为空值)。 对END raise_salary、4.1.2过程的调用,执行命令SQL执行代码名称(第一代、第二代); 在PL/SQL封摇滾乐内部调用DECLARE par1、par2。 begin proc名称(par 1、par2) :结束; 在调用变量par1、par1、4.1.3过程释放之前声明,如果不再需要存储过程,则必须将其从内存中删除以释放内存资源。 释放过程语句的格式如下: SQLDROP PROCEDURE proc_name; 4.2函数,创建4.2.1函数调用4.2.2函数释放4.
4、2.3函数,创建4.2.1函数,createorreplacefunctionnameparameter.) returndatatypesislocaldeclarationsbeginexecutestatementsexceptionexceptionhandlersendname,实例createorreplacefunctionhire _ day 日期编号; beginselecthiredateintovhiredatefromempwhereempno=否。 vday :=电话号码(sysdate-vhiredate ); 返回日期; 结束; 4.2.2函数的调用可以通过命令行
5、或普计程仪拉姆语句的函数名直接在表达式中调用。 例如,将函数Hire_Day (7056 )的上限值赋予变量v_days。 sqlexecutev _ days :=hire _ day (7056 ),4.2.3函数的解释。 如果函数不再使用,请使用DROP命令从内存中删除(如sqldropfuncccess ),定义和生成4.3.1和4.3.2软件包访问4.3.3为什么要使用这些软件包? 4.3.1包的定义和生成。 软件包是将PL/SQL类型、函数、子例程等分组到逻辑性中的智能牛鼻子对象。 包可能包含过程() 函数() 变量() 游标() 常量() 意外情况()。 包由描述部分和包两部分组
6、成。 在包说明部分中描述的元素(过程、函数等)是公共元素。 只在案例中说明的元素是私有元素、Application、Database、Package、specification、body、软件包说明、软件包说明部分包含公开声明的CREATE OR REPLACE PACKAGE软件包名称I 游标定义函数、过程定义、关残奥字仪表列表和门值类型END包名称; 注意:在软件包声明部分中,游标仅在适用的数据库模式下有效,可以按以下方式声明CURSOR cursor_name (parameter,parameter) RETURN return_type声明部分的定义对于软件包来说,这是一个全局定义,
7、可以在软件包的任何部分使用。主体、创建或替换包主体包名称IS|AS游标、函数、过程的具体定义: END包名称;createpackageemp _ action as/* declareexternallyvisibletypes、cursor、exception.*/typeemprectypisrecorres typedeptrectypisress cursor desc _销售专家组; invalid _销售额检查; 实例,/* declareexternallycallablesubprogram.*/procedure hire _ employee 程序销售(EMP _ idi
8、nt、格式入口、模式实际) :函数销售(nint )返回指令_动作。 createpackagebodyemp _ actions as-可见性实例包括cursordesc _ salaryreturnemprectypisselectement procedure hire _ employ ename VARCHAR2、作业varchar 2、mgr REAL、销售real、公共real、深度real )结束hire _ employee; 程序档案(EMP _ idint ) isbegindeletefromempwhereempno=EMP _ id。 end fire _企业版;
9、定义本地函数,可用的insidepackage.* /函数al _ ok (排名,销售实际)返回手册最大值_销售实际; 选择销售额、最小销售额、最大销售额等级=排名。 返回(销售=最小_销售)和(销售=最大_销售)。 终点销售; 程序销售额(EMP _ id、地图入口、装载实际) is销售实际。 beginselectsalintosalaryfromempwhereempno=EMP _ id。 if sal _ ok (大型,销售额)升级数据集=销售额=EMP _ id。 销售额最大销售额; 终点if; 最终销售额; 功能性销售(nint )返回指示符_返回指示符。 开放式销售额;开放式销
10、售额; 我是金一.nloopfetchdesc _ salaryintoemp _ rec 结束环; 克洛斯德斯克_销售; 返回EMP _ rec; 最终销售额;的数量; EMP _动作;4.3.2您可以使用套装程式的网站数据库、资料库触发器、储存程序、3GL应用程式和Oracle工具,网站数据库套装程式中的类型和子程式。 使用以下格式:如果要使用. SQL*PLUS网站数据库到过程,请使用sqlcallemp。 4.3.3为什么要用包? 模数化的包封装与逻辑性相关的类、子例程,使包之间的接口简单而明确。 易于开发的应用程序是设置修订应用程序的初期阶段,只需软件包的声明部分,即可编译在该软件包
11、中网站数据库的程序计程仪。 由于信息隐藏软件包可以隐藏实现详细信息,因此第一次调用性能改进软件包中的子例程时,整个软件包都会加载到内存中。 更改软件包的实现之后,调用者无需重新编译。4.4 pl/SQL plum计程仪程序的开发和调试、4.4.1 plum计程仪程序开发4.4.2常用的系统包4.4.3调试、4.4.1 plum计程仪程序开发、开发过程)在将包声明放入文本文件的环境中或在独立的函数或代理、4.4.2常用系统软件包、DBMS_OUTPUT进程使用说明、4.4.3调试、1 )数据字典询问法:列出现有过程和函数2 )准备可执行过程:创建脚本文件3 ) 执行过程:执行编译和测试4 )调试
12、过程:使用DBMS_OUTPUT以SQL*格式在PLUS中执行DBMS_OUTPUT过程setserveroutputondbms _ output.put line (vaas 从激活to_char(salary ) )的数据字典视图得到的原代码文档,可以用*命令看到过程的名称及其残奥仪表DESCRIBE procedure_name,编译错误消息,* 4.5.1触发器的定义4.5.2触发器和一般存储过程的差异4.5.3触发器的创建、修改和恢复4.5.4触发器的调试,这些触发器可以编译可以通过命令获得过程或函数的翻译错误消息4.5.3建立、修改和撤销触发程式,并在CREATE TRIGGER
13、叙述句中建立触发程式createorreplacetriggerbefore|acteorreplacetriggerbefore,以在表格中执行特定资料维护操作时建立隐含的资料库触发程式触发器作为过程在PL/SQL子摇滾乐中,当发出触发语句并且将触发限制校正为true时执行的删除触发器的语句格式是DROP TRIGGER ON;斯坦共和国。 描述当部门从dept表中删除时,该部门的所有员工都将从emp表中删除的数据库触发器。 createorreplacetriggerdel _ EMP _ deptnobeforedeleteondeptforeachrowbegindeletefromempwheredeptno=3360 old.dept no结束; 的双曲馀弦值。 可以在操作到记
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职中高考题目及答案
- 2024-2025学年度法律职业资格考试试题含答案详解【突破训练】
- 床上洗头护理的病人健康教育
- 冠心病患者康复护理要点
- 2024-2025学年度四川工商职业技术学院单招《英语》模拟试题附完整答案详解(网校专用)
- 2024-2025学年全国统考教师资格考试《教育教学知识与能力(小学)》题库试题【培优】附答案详解
- 2024-2025学年度注册公用设备工程师考前冲刺试卷【综合卷】附答案详解
- 2024-2025学年度“安全生产事故隐患排查”知识竞赛试题附完整答案详解【易错题】
- 2024-2025学年度医学检验(师)模拟题库含完整答案详解(各地真题)
- 2024-2025学年度机械设备制造修理人员考试彩蛋押题(巩固)附答案详解
- 电气控制与PLC应用技术-西门子S7-200 SMART PLC第三版黄永红习题答案
- 第四章 物质的特性 单元测试-七年级科学上册同步备课系列(浙教版)
- JG/T 118-2018建筑隔震橡胶支座
- 水平定向钻进管线铺设工程技术规范
- 香港公司意向协议书
- 《西藏自治区地质灾害危险性评估报告编制及审查技术要求(试行)》
- TCPQSXF006-2023消防水带产品维护更换及售后服务
- 物业入场通知函
- 2024年中国科学技术大学少年创新班数学试题真题(答案详解)
- LightTools优化模块用户指南
- 2024年山东济南中考满分作文《为了这份繁华》
评论
0/150
提交评论