- 2
- 0
- 约4.31千字
- 约 21页
- 2019-03-25 发布于福建
- 举报
第17章 PL/SQL概述 PL/SQL(Procedural Language/SQL)是Oracle对标准数据库SQL语言的扩展。在PL/SQL中,不仅可以使用SQL语句,而且还可以在PL/SQL语句中定义变量和常量、使用条件分支和循环控制语句、可以进行异常处理、可以使用游标进行数据操作等。在任何运行Oracle的平台中,都可以使用PL/SQL进行应用程序的开发。这一节章来介绍PL/SQL的一些基本内容。 什么是PL/SQL 使用PL/SQL的原因 介绍一个简单的PL/SQL例子 PL/SQL开发工具简介 PL/SQL的编写规范 17.1 PL/SQL介绍 PL/SQL作为一种可以运行在任何Oracle平台中的较为复杂的程序设计语言,在实际的开发应用中得到了广泛的应用。这一节将对PL/SQL做一个总结性的介绍,并结合一个实例讲解为什么要在程序应用中使用PL/SQL。 17.1.1 什么是PL/SQL PL/SQL的英文全称为Procedural Language/SQL,它是Oracle对标准数据库SQL语言的扩展,它可以运行在任何的Oracle开发环境中。Oracle公司已经将PL/SQL语言集成到Oracle的服务器中,也可以在由其他的第三方提供的工具中使用PL/SQL。 PL/SQL语言是一种比较复杂的数据库程序设计语言,它将第四代语言(如SQL)的灵活性与第三代语言(如C、COBOL、C++、Java等)的过程性结构结合在一起,很好的融合了SQL语言中强大的数据库操作性以及程序设计语言中的过程结构。因此,PL/SQL语言的功能强大,可以用它来解决数据库应用中复杂的应用程序。目前,很多的开发人员和数据库管理人员(DBA)在实际应用中都开始使用PL/SQL语言。 17.1.1 什么是PL/SQL PL/SQL语言中的PL的英文全称是Procedural Language,顾名思义,作为对SQL语言的扩展,PL/SQL语言增加了许多程序设计语言中的过程结构。主要包括以下几个方面的扩展。 变量。例如,变量声明、变量初始化等 数据类型。例如,标量类型、复合类型、引用类型、对象类型、用户自定义类型等 结构控制语句,例如,条件语句IF-ELSE-THEN、CASE和循环语句LOOP、WHILE等。 过程和函数。在数据库中以编译好的形式存储,供其他的语句块调用。 异常处理。用来处理程序运行时出现的错误,将程序逻辑处理代码与错误处理代码分离。 17.1.2 为什么要使用PL/SQL 前面章节中介绍SQL语言时,已经知道,使用SQL可以很灵活的操作数据库,实现数据表(或者视图)的创建、数据的查询、增加、修改、删除、表结构的修改、权限的授予与回收等操作,那么为什么要使用PL/SQL语言呢。 在实际的应用中,有些时候需要处理的业务逻辑可能会比较复杂。现在考虑这样一个问题,一所学校要对某一名教师的职称进行修改,如果这个教师不存在,就向教师信息表中插入一条该教师的记录;如果这个教师存在,就在教师信息表中修改这名教师的职称信息。对于这个问题,如果仅使用SQL语言是无法来完成的,因为在SQL语言中,并没有提供用于判断的语句命令。 17.1.2 为什么要使用PL/SQL 那么使用PL/SQL可以完成上面的这个业务逻辑吗。答案是肯定的。因为PL/SQL语言作为对SQL语言的扩展,提供了像条件判断、循环判断这样的结构控制语句,因此类似与上面的问题(甚至比上面的问题还复杂的问题)可以很容易的用PL/SQL语言来解决。其实现的主要代码如下所示。 DECLARE v_ teaID VARCHAR2(15) := t152303; v_ teaName VARCHAR2(10):= 王杰; v_age NUMBER(2) :=45; v_ dept VARCHAR2 (20) :=’计算机系’; 17.1.2 为什么要使用PL/SQL v_ profession VARCHAR2 (10) :=’教授’; v_ salsry NUMBER(6,2) :=5000; BEGIN UPDATE t_ teacher SET profession =v_ profession WHERE teaID = v_ teaID; IF SQL%NOTFOUNDTHEN INSERT INTO T_student VALUES(v_ teaID, v_ teaName, v_age, v_ dept, v_ profession, v_ salsry); END IF; END; 17.2 一个PL/SQL的例子 为了让读者能够了解PL/SQL语句块的基本组成,这里给出一个使用PL/SQL语言完成查询学生信息表(t_student)中指定学生编号对应
您可能关注的文档
- 第14章财政不平衡身与财政赤字.ppt
- 第13章统计推断与方子差分析.ppt
- 第14章不:成本报表的编制和分析.ppt
- 第14章+会计变更与差子错更正.ppt
- 第14章不用力法计算超静定结构.ppt
- 第14章半导体二极管就和三极管.ppt
- 第14章机械传动系统方石案设计.ppt
- 第14章电子探针止x射线显微分析.ppt
- 第14章结构体、共用体、枚等举和typedef.ppt
- 第14章 晶浩体薄膜的衍衬.ppt
- 2026国家交通运输部天津水运工程科学研究院第二批(部属单位第五批)招聘9人笔试参考题库及答案解析.docx
- 2026华中农业大学海南研究院招聘4人(湖北)考试备考试题及答案解析.docx
- 山东青岛市2026届公费医学毕业生选聘43人考试备考试题及答案解析.docx
- 2026新疆大学附属中学面向社会招聘外聘教师5人笔试参考题库及答案解析.docx
- 2026湖北襄阳市老河口市洪山嘴中学教师招聘2人笔试参考题库及答案解析.docx
- 2026广东珠江流域南海海域生态环境监督管理局使用劳务派遣人员招聘2人考试备考试题及答案解析.docx
- 2026贵州科学院高层次人才引进16人考试备考题库及答案解析.docx
- 2026河南漯河法院面向社会招聘聘用制书记员43人笔试参考题库及答案解析.docx
- 2026广东广州市南沙区教育局高校校园招聘70人(上海设点,编制)考试备考试题及答案解析.docx
- 2026安徽省中国电子科技集团第八研究所招聘42人考试备考试题及答案解析.docx
最近下载
- 党支部组织生活会个人对照检查材料.doc VIP
- 基于改进YOLOv8模型的生活垃圾检测.docx VIP
- 从“选育用管”全链条培养探索提高人才质量的有效途径——以湘潭烟草为例-来源:现代企业文化·中旬刊(第2021008期)-中国工人出版社.pdf VIP
- Unit2语法一般现在时课件外研版英语七年级上册.pptx VIP
- 慢病特色科室建设方案.docx VIP
- 12河北安装定额说明和计算规则.docx VIP
- 剪刀式升降车安全技术交底.docx VIP
- GB50428-2015 油田采出水处理设计规范.docx VIP
- 学会反思道德与法治六年级下册.pptx VIP
- 6章 脉宽调制(PWM)技术.ppt VIP
原创力文档

文档评论(0)