存储过程培训

上传人:沈*** 文档编号:224237232 上传时间:2023-07-27 格式:PPT 页数:27 大小:147.50KB
收藏 版权申诉 举报 下载
存储过程培训_第1页
第1页 / 共27页
存储过程培训_第2页
第2页 / 共27页
存储过程培训_第3页
第3页 / 共27页
资源描述:

《存储过程培训》由会员分享,可在线阅读,更多相关《存储过程培训(27页珍藏版)》请在装配图网上搜索。

1、存储、函数过程培训存储、函数过程培训v一、创建例程一、创建例程v二、流程控制语言二、流程控制语言v三、事务三、事务v四、游标四、游标v五、异常五、异常v六、六、JOBv七、调测七、调测v八、随堂测验题八、随堂测验题1一、创建例程一、创建例程v创建存储过程:CRAETEPROCEDUREOWNER.PROCEDURE_NAME(参数1IN/OUT参数类型=DEFAULT,参数2IN/OUT参数类型=DEFAULT,参数nIN/OUT参数类型=DEFAULT)IS/AS;BEGIN语句体;ENDRPOCEDURE2v过程与函数的区别:过程是没有返回参数的,而函数有RETURN语句。根本上来说没有太

2、大的区别。v修改时可以在CREATE后加上ORREPLACE,不过上次发现使用REPLACE后在当前的PLSQL窗口中同一存储过程的代码未改变,而是需要重新登陆后才能看到新的SQL代码3v创建函数:CRAETEFUNCTIONOWNER.FUNCTION_NAME(参数1IN/OUT参数类型=DEFAULT,参数2IN/OUT参数类型=DEFAULT,参数nIN/OUT参数类型=DEFAULT)RETURNTYPE;IS/ASBEGIN语句体;ENDFUNCTION_NAME4二、流程控制语言二、流程控制语言v在过程中也提供了其他语言具备的流程控制语言,完成循环判断和分类处理的能力,主要有:v

3、1、IF语句v2、FOR语句v3、WHILE语句v4、EXIT语句51、IF语句语句61、IF语句语句当IF的条件为一个SQL语句如SELECT时需用扩号,并且返回值为单值。72、FOR语句语句82、FOR语句语句vFOR的条件可以是变量,常量或一个SQL语句的返回值v例如:FORindex_varIN(12TO21STEP2)-statementblockENDFORFORindex_var=12TO21STEP2-statementblockENDFOR93、WHILEv当WHILE的条件为TRUE时执行WHILE后的语句,为FALSE退出循环。104、EXIT语句语句v适用语句(FORW

4、HILE)从循环中退出11三、事务三、事务v1、COMMITWORKv2、ROLLBACKWORKv3、关注点121、COMMITWORKv使用COMMITWORK提交从事务开始对数据库做的全部修改。v语法:v用法:COMMITWORK语句通知数据库你达到了必须作为单个单元完成一系列语句的末尾。数据库服务器采取需要的步骤来确保事务做的全部修改正确完成并保存到磁盘上。13v当确保希望保留所有从事务开始起对所做的所有更改时,仅在带有事务日志的数据库的多语句操作的结束使用COMMITWORK。vCOMMITWORK将释放所有行锁和表锁。vWORK关键字在COMMITWORK语句中时可选的,以下两个语

5、句是等价的:COMMIT;COMMITWORK;142、ROLLBACKWORKv使用ROLLBACKWORK谨慎的取消某个事务,并撤销事务开始以来所有发生的改变。ROLLBACKWORK将数据库恢复到事务开始之前的状态。v语法:v用法:ROLLBACKWORK只对带有事务执行日志的数据库有效15v只能在多语句操作结束时使用使用ROLLBACKWORKvROLLBACKWORK释放已取消事务所持有的所有行锁和表锁。v如果没有事务审批时发出ROLLBACKWORK,就会出现一条错误。16vROLLBACKWORK只对带有日志事务的数据库有效。v不遵循ANSI数据库中,使用BEGINWORK启动事

6、务,使用COMMITWORK结束事务,也可以使用ROLLBACKWORK取消事务。ROLLBACKWORK语句将数据库恢复到事务执行之前。vWORK关键字在ROLLBACKWORK语句中时可选的,以下两个语句是等价的:ROLLBACK;ROLLBACKWORK;173、关注点v每个过程或函数在执行完事务后都要有COMMIT或ROLLBACK处理v尽量分解事务v循环中的事务提交将影响ROLLBACK18四、游标v使用步骤:声明变量,声明游标,打开游标,操作,关闭游标v游标包括显式游标,隐式游标两者区别:隐式是不需要关闭的19游标使用注意v1、游标尽量不使用v2、在返回游标类参数时,必须对于每个分

7、支都返回v3、使用游标时,要知道其读取数据是单向的v4、打开游标时尽量隐式打开20常用的游标循环方式v1、显式:OPEN游标FENTCH游标INTO变量;EXITWHEN退出条件;操作ENDLOOP;CLOSE游标;21v隐式:FOR变量IN游标LOOP语句ENDLOOP;22五、异常v每个过程或函数应该有异常处理v如果当异常发生后需要进行另外的操作那么容错性的异常也要处理23六、JOBv1、初始化v2、任务状态判断v3、启动的时间与间隔设定24七、调测vPLSQL中调测TESTv代码中调测可以使用PREPAREMENT彩铃中使用DBTOOL(已封装好)25八、随堂测验题v1、编写一个函数,接收订单号、玩具号、输出该订单中该种玩具的销售金额。orderIDtoyIDtoyPricetoyCountdiscount其中,玩具的销售金额玩具单价*订单中玩具的购买数量*折扣率,折扣率的处理规则如下:玩具单价*订单中玩具的购买数量折扣-0-30)1.030-50)0.950-100)0.8100以上0.726v2、编写一个函数,接收一个订单号,计算出该订单的总金额,并输出。(总金额=该订单中所有玩具的销售金额+订单的运输费用)。27

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!