oracle应用开发实训指导

oracle应用开发实训指导

ID:22634630

大小:185.00 KB

页数:45页

时间:2018-10-30

oracle应用开发实训指导_第1页
oracle应用开发实训指导_第2页
oracle应用开发实训指导_第3页
oracle应用开发实训指导_第4页
oracle应用开发实训指导_第5页
资源描述:

《oracle应用开发实训指导》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Oracle应用开发实训指导书第一章PL/SQL概述为什么使用PL/SQL?一、PL/SQL将SQL语言(4GL)的强大性和灵活性与3GL的过程性结构融为一体。PL/SQL是ProceduralLanguage/SQL的缩写。正如其名字所示,PL/SQL通过增加了用在其它过程性语言中的结构对SQL进行了扩展,例如:变量和类型(包括预定义和用户定义)。控制结构,如-if-then-else语句和循环。过程和函数。对象类型和方法。过程性结构与OracleSQL无缝地集成在一起,这便产生了一种结构化的强有力的语言。例如,假设我们想修改一个学生纪录的主修课。如果这个学生不存在,我们就想创建一个新纪录。

2、那么,我们可以通过以下的PL/SQL代码实现这个目的:DECLARE/*DeclarevariableswhichwillbeusedinSQLstatements*/v_NewMajorVARCHAR2(10):='History';v_FirstNameVARCHAR2(10):='Scott';v_LastNameVARCHAR2(10):='Urman';BEGIN/*Updatethestudentstable.*/UPDATEstudentsSETmajor=v_NewMajorWHEREfirst_name=v_FirstNameANDlast_name=v_LastName;/

3、*Checktoseeiftherecordwasfound.Ifnot,thenweneedtoinsertthisrecord.*/IFSQL%NOTFOUNDTHENINSERTINTOstudents(ID,first_name,last_name,major)VALUES(student_sequence.NEXTVAL,v_FirstName,v_LastName,v_NewMajor);ENDIF;END;这个例子包括了两个不同的SQL语句(Update和Insert),这是4GL的结构,同时还有3GL的结构(变量声明和IF条件语句)。PL/SQL是独一无二的,它融合了灵活的SQ

4、L和强大的并可具有可配置性的3GL。同时,可以使用该语言集成的过程性结构和数据库访问接口。这些特性使该语言更加健壮和功能强大,非常适合设计复杂的应用程序。二、PL/SQL和网络流量:许多数据库应用程序的构建都使用客户机/服务器模型或者三层模型。在客户机/服务器中,程序本身在客户机上,它将请求发往数据库服务器,等待所需的信息。这些请求使用SQL语言实现。通常,这样做会产生许多次网络传输交互,每个SQL语言都有单独的传输交互。如果使用了PL/SQL,几条SQL语句可被绑定在一个PL/SQL语句块中,作为一个单独的单元发往服务器。这样做网络流量会减少,使应用程序执行得更快。即使客户机服务器在同一台主

5、机,这样也可以提高整个系统的性能,它减少了数据库对数据库的调用次数。PL/SQL打包的优点同样适用于B/S三层模型结构。在这种情况下,客户机(通常运行在HTML浏览器中)和应用程序服务器进行交互,而应用程序服务器随后将同数据库进行交互。后一种交互充分体现了PL/SQL的优点。PL/SQL的功能特性:一、PL/SQL的基本单元式语句块。所有的PL/SQL都是由语句块构成的,他们之间可以相互嵌套。通常,每一语句块负责完成程序中某单元的工作,这样每一语句块就可以分担不同的任务了。语句块拥有以下结构。DECLARE…/*DeclarevariableswhichwillbeusedinSQLstate

6、ments*/BEGIN…END;只有可执行部分是必需的,声明部分和异常部分是可选的。可执行部分必须至少包括一条可执行语句。语句块的不同部分将分派DECLARE/*DeclarevariableswhichwillbeusedinSQLstatements*/v_NewMajorVARCHAR2(10):='History';v_FirstNameVARCHAR2(10):='Scott';v_LastNameVARCHAR2(10):='Urman';BEGIN/*Updatethestudentstable.*/UPDATEstudentsSETmajor=v_NewMajorWHEREf

7、irst_name=v_FirstNameANDlast_name=v_LastName;/*Checktoseeiftherecordwasfound.Ifnot,thenweneedtoinsertthisrecord.*/IFSQL%NOTFOUNDTHENINSERTINTOstudents(ID,first_name,last_name,major)VALUES(student_sequ

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。