Oracle PL/SQL入门案例实践_oracle

正在看的ORACLE教程是:Oracle PL/SQL入门案例实践。 前面已经了解了关于PL/SQL编程的基础,本文将结合一个案例来加深对这些知识点的理解。

  一. 案例介绍

  某数据库有两张表,是关于某公司员工资料、薪水和部门信息的,它们分别是emp表和dept表,两张表的结构如下:

  要求如下:

  1、按照上表结构建立相应的表,并每张表写入5组合法数据。

  2、操纵相关表,使得“技术部”的员工的薪水上涨20%。

  3、建立日志,追踪薪水变动情况。

  4、建立测试包。

  二. 案例的分析与实现

  从前面案例的介绍不难看出,要求1考察点为基本SQL语句;要求2主要考察复合查询;要求3是考察触发器的应用;要求4的考察面相对多一些,不仅考察了包的创建,而且也考察了在PL/SQL中的测试方法。了解了这些考察的知识点,就可以一一去解决。

  要求1:

  首先根据前面表的结构可以创建两张表:

  ——创建员工表

  ——部门表

  建立了表之后就可以往表里面写数据了,这里把添加表记录的代码写入到相应的存储过程。

  要求2:

  给指定部门的员工加薪,这实际上是一个复合查询,首先需要把所有该部门的员工塞选出来,然后对这些员工的薪水进行相应的改动。依照这一思路,代码如下:

  (需要注意的是:将要加薪的部门作为参数,这样的存储过程更有灵活性。)

  要求3:

  建立日志对薪水的变动情况形成一个追踪,也就是说,如果对某个职员的薪水进行变更就应该将其相应的变更记录全部记下来。如果对emp表的salary字段创建一个触发器,来监视对salary的更改,把每次更改进行记录,这样就达到了要求3的目的了。

  要求4:

  与其他语言(c/c++等)相比,PL/SQL的测试有其不同之处,归纳下来有三种方法:

  1、使用DBMS_OUTPUT包的PUT_LINE方法来显示中间变量,以此来观察程序是否存在逻辑错误。

  2、插入测试表的方法。即创建一个临时的中间表,然后把所有涉及到的中间变量的结果都作为记录插入到中间表中,这样可以查询表中的结果来观察程序的执行情况。

  3、使用异常处理手段,对可疑的程序段使用begin … end ,然后可以在exception里进行异常捕获处理。

  这里准备使用第二种方法来建立一个测试包,PL/SQL里包的概念类似于面向对象里的类的概念,包将一组操作和属性封装在一起,不仅增强了程序的模块化,而且由于封装了更多的操作和属性而提高了执行效能。建立一个PL/SQL需要两个步骤:首先要建立包头,类似于建立一个类的头文件,里面主要对包中的过程,函数和变量的声明;第二部分主要是包体部分,实现前面声明的过程和函数,另外还需要对包进行初始化等工作。

  根据这一思路,建立测试包如下:

  三.小结

  综合前面对4个问题的解答,基本把PL/SQL的主要部分融会进来了,虽然很多地方只是涉及到比较粗浅的层次,但是有了这一基础,深入下去也是不难的。

  总之,PL/SQL编程与其他语言编程有一定的区别,读者只有把握好其特点才能更好的掌握数据库开发的方面知识。

时间: 2024-09-23 10:40:30

Oracle PL/SQL入门案例实践_oracle的相关文章

Oracle PL/SQL入门慨述_oracle

正在看的ORACLE教程是:Oracle PL/SQL入门慨述.一.PL/SQL出现的目的 结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,它属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方法和途径,而是简单的调用相应语句来直接取得结果即可.显然,这种不关注任何实现细节的语言对于开发者来说有着极大的便利. 然而,对于有些复杂的业务流程又要求相应的程序来描述,那么4GL就有些无能为力了.PL/SQL的出现正是

Oracle PL/SQL语言入门基础_oracle

正在看的ORACLE教程是:Oracle PL/SQL语言入门基础.PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件.以及如何设计并执行一个PL/SQL程序. PL/SQL的优点 从版本6开始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的优点以及其独有的数据管理的便利性,那么你很难想象ORACLE缺了PL

《Oracle PL/SQL程序设计(第5版)》一一1.5 PL/SQL开发人员的资源

1.5 PL/SQL开发人员的资源 Oracle PL/SQL程序设计(第5版) O'Reilly在1995年出版了本书的第一版.当时,Oracle PL/SQL编程这本书确实造成一个小轰动.它是第一本关于PL/SQL的独立著作(也就是,不是来自于Oracle公司的).从那时开始,PL/SQL程序员的资源─图书.开发环境.工具以及网站─开始蓬勃发展.(当然,迄今为止这本书仍然是这些资源中最重要和最有价值的!) 下面这一节简要地介绍了这许多资源.要充分利用这些资源,许多资源都可以免费获得或者非常低

[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)

原文:[推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下) [推荐]ORACLE PL/SQL编程详解之一: PL/SQL 程序设计简介(千里之行,始于足下) --通过知识共享树立个人品牌. 继上六篇:        [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,岂一日之功)        [推荐]ORACLE PL/SQL编程详解之三:PL/SQL流程控制语句(不给规则,不成方圆)        [推荐]ORA

《Oracle PL/SQL程序设计(第5版)》一一2.4 执行必要的PL/SQL任务

2.4 执行必要的PL/SQL任务 Oracle PL/SQL程序设计(第5版)让我们把焦点转移到当把SQL*Plus作为前端工具时,该如何创建.运行.删除以及其他的PL/SQL程序管理任务.不要期待这部分能够覆盖所有细节,后面的章节会更加深入细致地介绍这些主题,这里只是快速过一遍. 2.4.1 创建存储过程 要想创建一全新的PL/SQL存储程序,你需要使用SQL中的一个CREATE语句.比如,如果你想创建一个存储函数,这个函数能够对一个字符串中的单词个数计数,你就可以使用CREATE FUNC

[转贴]Oracle PL/SQL语言基础

oracle|sql语言 [转贴]Oracle PL/SQL语言基础 Oracle PL/SQL语言基础   PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件.以及如何设计并执行一个PL/SQL程序.    PL/SQL的优点    从版本6开始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的优点以及其独有

Oracle PL/SQL语言基础

oracle|sql语言 Oracle PL/SQL语言基础  2002-8-23   Oracle PL/SQL语言基础 PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件.以及如何设计并执行一个PL/SQL程序. PL/SQL的优点 从版本6开始PL/SQL就被可靠的整合到ORACLE中了,一旦掌握PL/SQL的优点以及其独

【强烈强烈推荐】《ORACLE PL/SQL编程详解》全原创(共八篇)--系列文章导航

原文:[强烈强烈推荐]<ORACLE PL/SQL编程详解>全原创(共八篇)--系列文章导航 <ORACLE PL/SQL编程详解>    系列文章目录导航     --通过知识共享树立个人品牌.           本是成书的,但后来做其他事了,就无偿的贡献出来,被读者夸其目前为止最"实在.经典"的写ORACLE PL/SQL编程的文章-!   觉得对你有帮助,请留言与猛点推荐,谢谢.     [推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序

《Oracle PL/SQL程序设计(第5版)》一一1.4 关于PL/SQL的版本

1.4 关于PL/SQL的版本 Oracle PL/SQL程序设计(第5版) 每个版本的Oracle数据库都有其对应的PL/SQL版本.只要我们使用的是最新版的PL/SQL,就会有更多的功能供我们使用.作为PL/SQL程序员的最大挑战就是"紧跟".我们不需要不断地自学每个版本中的新特性─学会使用它们,尤其在我们自己的应用程序中该如何使用,确定有些新技术尤其有用,我们应该利用这些新技术修改已有的应用程序. 表1-1总结了数据库中每一版(过去的和当前的)PL/SQL的主要成员(注意在早期的