存储过程培训_第1页
存储过程培训_第2页
存储过程培训_第3页
存储过程培训_第4页
存储过程培训_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、存储、函数过程培训一、创建例程 二、流程控制语言 三、事务 四、游标五、异常六、JOB七、调测八、随堂测验题1一、创建例程创建存储过程: CRAETEPROCEDUREOWNER.PROCEDURE_NAME(参数1IN/OUT 参数类型=DEFAULT,参数2IN/OUT 参数类型=DEFAULT,参数nIN/OUT 参数类型=DEFAULT) IS/AS; BEGIN 语句体; ENDRPOCEDURE2 过程与函数的区别: 过程是没有返回参数的,而函数有RETURN语句。 根本上来说没有太大的区别。修改时可以在CREATE后加上 OR REPLACE,不过上次发现使用REPLACE后在当

2、前的PLSQL窗口中同一存储过程的代码未改变,而是需要重新登陆后才能看到新的SQL代码3创建函数: CRAETEFUNCTIONOWNER. FUNCTION_NAME(参数1IN/OUT 参数类型=DEFAULT,参数2IN/OUT 参数类型=DEFAULT,参数nIN/OUT 参数类型=DEFAULT) RETURN TYPE; IS/AS BEGIN 语句体; END FUNCTION_NAME4二、流程控制语言 在过程中也提供了其他语言具备的流程控制语言,完成循环判断和分类处理的能力,主要有:1、IF语句2、FOR语句3、WHILE语句4、EXIT语句51、IF语句61、IF语句当IF

3、的条件为一个SQL语句如SELECT时需用扩号,并且返回值为单值。 72、FOR语句82、FOR语句 FOR的条件可以是变量,常量或一个SQL语句的返回值例如: FOR index_var IN (12 TO 21 STEP 2) - statement block END FOR FOR index_var = 12 TO 21 STEP 2 - statement block END FOR93、WHILE当WHILE的条件为TRUE时执行WHILE后的语句,为FALSE退出循环。104、EXIT语句适用语句(FORWHILE) 从循环中退出 11三、事务1、COMMIT WORK2、RO

4、LLBACK WORK3、关注点121、COMMIT WORK使用COMMIT WORK提交从事务开始对数据库做的全部修改。语法:用法: COMMIT WORK语句通知数据库你达到了必须作为单个单元完成一系列语句的末尾。数据库服务器采取需要的步骤来确保事务做的全部修改正确完成并保存到磁盘上。13当确保希望保留所有从事务开始起对所做的所有更改时,仅在带有事务日志的数据库的多语句操作的结束使用COMMIT WORK。COMMIT WORK将释放所有行锁和表锁。WORK关键字在COMMIT WORK语句中时可选的,以下两个语句是等价的:COMMIT;COMMIT WORK;142、ROLLBACK

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

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

7、式打开20常用的游标循环方式1、显式: OPEN 游标 FENTCH 游标 INTO 变量; EXIT WHEN 退出条件; 操作 END LOOP; CLOSE 游标;21隐式: FOR变量 IN 游标 LOOP 语句 END LOOP;22五、异常每个过程或函数应该有异常处理如果当异常发生后需要进行另外的操作那么容错性的异常也要处理23六、JOB1、初始化2、任务状态判断3、启动的时间与间隔设定24七、调测PLSQL中调测TEST代码中调测 可以使用PREPAREMENT 彩铃中使用DBTOOL(已封装好)25八、随堂测验题1、 编写一个函数,接收订单号、玩具号、输出该订单中该种玩具的销售金额。 orderID toyID toyPrice toyCount discount 其中,玩具的销售金额玩具单价*订单中玩具的购买数量*折扣率,折扣率的处理规则如下:玩具单价*订单中

温馨提示

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

评论

0/150

提交评论