首页>参考读物>计算机科学与技术>数据库

Oracle 8 PL/SQL程序设计
作者 : Scott Urman
译者 : 译友翻译组
丛书名 : Oracle技术丛书
出版日期 : 2000-08-01
ISBN : 7-111-06348-1
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 645
开本 : 16开
原书名 : Oracle 8 PL/SQL Programming
原出版社: McGraw-Hill
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

本书旨在帮助读者理解PL/SQL,并学会将这种Oracle用来操纵数据的独特语言而进行程序设计,其内容包括PL/SQL基础、PL/SQL语言语法、内置SQL函数、游标、过程和函数、配发器等,并特别包含了Oralce8中PL/SQL的新的内容,如对象类型和外部过程。对PL/SQL初学者而言,通过本书的学习,可以很快和有效地使用PL/SQL开发应用程序,而对于已熟悉PL/SQL基本要点的有经验的程序员,也可将本身作为一本查阅PL/SQL语法和高级特性的参考手册。本书还提供了一些常见问题和有关PL/SQL主题的解答,供读者在学习使用PL/SQL时参阅。

图书前言

Oracle是一个功能极其强大和灵活的关系型数据库系统。但是由于其功能和灵活性方面的突出优越性,它也变得越来越复杂了。如果要得在Oracle上设计一些很有用的应用程序,就必须要理解Oracle是如何操纵存储在系统内部的数据的。PL/SQL是一个很重要的工具,它被设计用来操纵数据,其操纵方式可以在Oracle内部,也可以在您自己的应用程序中。

PL/SQL可以在各种环境中使用,每种环境中的PL/SQL都有自己的优点。

本书旨在帮助您理解PL/SQL并认识这种独特的语言的强大功能。在阅读完本书以后,您就应该能够在自己的应用程序中很容易和有效地使用PL/SQL了。在熟悉了PL/SQL的基本要点以后,本书也可以作为一本索引手册,它可以提供一些常见问题和有关PL/SQL主题的解答。

新特性

本书是《Oracle PL/SQL Programming》第二版。那么本书和第一版有什么不同呢,为什么在已经读过了第一版以后还要读本书呢?第一个不同在于本书包括了Oracle 8的新的内容,例如,对象类型和外部过程。另外,即使您使用的环境不是Oracle 8,本版相对第一版而言仍有很多改进和提高。我对第一版中的各种材料进行重新的组织,以便更高地说明PL/SQL的不同的结构特性。本书还包括了“使用PL/SQL”示例,另外,还有一张配套的CD。

配套的CD

在第一版中所使用的源代码可以从Oracle Press的网址http: //www.osborne.com/oracle上下载,本版的例子代码也可以从那里进行下载。另外,您也可以从本书配套的CD上找到这些源代码。这张CD包含了所有的例子,以及使用PL/SQL的两个产品的演示版本—Oracle的WebServer和Platinum的SQL-Station,我们在正文中也会对它们进行介绍。我希望您可以尝试使用这些工具,并找到它们的价值所在。您可以在Platinum的网址http: //www. platinum.com上找到有关SQL-Station的更多信息,在Oracle的网址http: //www. oracle.com上找到有关Oracle Web Server的信息。

本书的读者

本书是专门用作用户指南和关于PL/SQL的索引的。它既适合于那些希望知道PL/SQL语法和高级特性的有关经验的程序员,也适合于不熟悉其他第三代语言的新程序员。在阅读之前先熟悉一下Oracle了解其概观(连接到数据库上,使用一下数据库和基本的SQL,等等)是非常有用的,但是这不是必需的。

如何使用本书

本书被分为22章和4个附录。第1章是个简介,而第2章到第12章介绍了PL/SQL的语法和语义。第12章也涉及到了性能和调整(tuning)。第13章和第14章 介绍了执行环境和调试技巧,第15章到第21章讨论了该语言的高级特性,包括内置包。附录提供了对许多材料的索引。

第1章  PL/SQL简介

本章介绍了PL/SQL,并对这种语言的主要特性进行了说明。我们还讨论了PL/SQL的各个版本以及它们相对应的数据库版本。在本章最后对本书的例子要用到的数据库模式进行了说明。

第2章  PL/SQL基础

本章介绍了PL/SQL的语法。这里的主题包括PL/SQL程序结构、变量和类型、表达式和运算符,以及控制结构(循环和条件语句)。在本章最后,我们给出了有关PL/SQL风格以及如何编写更可读和易于维护的代码的建议。

第3章 记录和表

PL/SQL版本2和Oracle 7中可以使用的用户定义类型 是记录和表,记录使得相关的变量可以作为一无进行处理,而表可以允许使用类仅于数组那样的方式访问数据。本章讨论了如何使用这些数据类型。

第4章 在PL/SQL中使用SQL

本章讨论了PL/SQL中可以使用的SQL语句—用于管理Oracle数据的数据操纵命令。我们还介绍了事务控制和权限。

第5章  内置SQL函数

本章讨论了PL/SQL可以使用的内置SQL函数。

第6章  游标

本章对游标以及如何使用它们处理大量数据进行了详细的介绍。这里的讨论包括游标声明和使用的语法、对游标属性的说明,以及如何使用游标变量的例子。

第7章  子程序:过程和函数

第7章到第9章讨论了不同种类的带名PL/SQL块。第7章开始讨论过程和函数。这里涉及到了每个过程和函数的语法和意义,以及它们之间的不同。本章也讨论了如何在SQL语句中使用函数,角色和过程是如何相互作用的,以及内置子程序和数据字典之间的关系。

第8章 包

包使得可以将相互关联的子程序作为一个单元分组在一起。SQL/SQL的许多高级特性都被以包的形式予以实现,这样通过数据抽象使得应用程序的设计更加完美。

第9章  触发器

触发器是最后一种带名PL/SQL块。当Oracle数据被修改时,触发器会自动“点火”,因此使得复杂的商业规则得以增强,而无须通过引用完整性限制来实现。

第10章 错误处理

错误处理对于任何良好设计的应用程序都是十分重要的。本章介绍了如何使用PL/SQL异常情态确保您的程序很健壮,以处理运行时刻发生的异常情态。我们在这里也给出了有效使用异常情态的指导法则。

第11章 对象

Oracle8所引入的对象类型提供了一种不同的编程方法。本章讨论了Oracle8的对象关系型数据库模型是如何工作的,其中包括如何创建对象类型方法。

第12章 集合(Collections)

本章讨论了集合,其中包括嵌套表和varray(可变数组)。Oracle8提供的这些新的数据类型对在第2章所讨论的PL/SQL表的功能进行了扩展。本章讨论了如何使用这些数据类型,包括集合方法。

第13章 PL/SQL执行环境

PL/SQL可以在不同的环境上运行。本章讨论了客户端和服务器端PL/SQL的优点,详细介绍了有关在SQL*Plus、Oracle预编译器、OCI、Developer 2000套件工具以及像SQL-Station这样的第三方厂商所提供的工具中使用PL/SQL的信息。

第14章 测试和调试

本章介绍了调试PL/SQL应用程序的一些不同的方法,包括SQL-Station Debugger。在本章中所讨论的技术通过演示如何解决三个常见PL/SQL问题予以介绍,它们对于您自己的开发过程是十分有帮助的。本章最后介绍了软件开发过程以及如何使用PL/SQL进行有效的软件开发。

第15章 动态PL/SQL

动态PL/SQL是一个功能强大的程序设计技术,您可以使用它编写十分灵活的程序。本章介绍了DBMS_SQL包,它实现了动态PL/SQL。这个包也可以被用来克服在PL/SQL中只允许使用DML语句的限制。

第16章 会话间通信

本章介绍了两个内置包,它们可以用来在两个会话之间直接进行通信——数据库管道(DBMS_PIPE)和数据库警报(DBMS_ALERT)。这里给出了一些专门的例子,并对两个包进行了比较。

第17章 Oracle高级排队机制

Oracle/AQ(Advanced Queuing选项)实现了一个健壮的排队系统,它类仅于在事务处理监控器中所使用的排队机制。本章讨论了如何使用Oracle/AQ并提供了一个综合性的例子。

第18章 数据库作业和文件I/O

DBMS_JOB包使得您可以调度PL/SQL作业(以内置过程的形式)在特定的时间自动被执行。UTL_FILE包允许PL/SQL对操作系统文件执行读和写操作。我们对这两个包都进行了详细的讨论,并给出了例子。

第19章 Oracle的WebServer程序

本章讨论了如何使得PL/SQL适合于Oracle Web服务器环境的需要而协同工作,以及如何从PL/SQL内置过程中生成HTML输出。通过这种方式使用PL/SQL使得您可以从数据库的信息中直接创建动态的网页。

第20章 外部过程

PL/SQL版本8(及Oracle8)使得您可以从PL/SQL中直接调用用C编写的过程或函数。这种有价值的功能增强使得PL/SQL很容易地对功能进行扩展以包容所有用C编写的功能。这就是本章的主题。本章的讨论还涉及到在PL/SQL和C数据类型之间的映射。

第21章 大型对象

LOB(大型对象,Large Object)可以存储多达4GB的文本或二进制数据。Oracle8使得您可以使用DBMS_LOB包操纵大型对象。本章对此进行了介绍。DBMS_LOB允许对大型对象进行随机的读或者写,这是对Oracle7 LONG和LONG RAW类型的十分重要的增强。如果需要的话,对于二进制数据的保存也可以放到数据库的外而进行。

第22章 性能和调整(tuning)

一个很漂亮的PL/SQL程序不应该仅仅生成正确的结果,而且应该使得其结果尽可能地有效。本章介绍了一些性能和调整的技巧,包括使用共享池、如何调整SQL语句,以及如何使用Oracle数组接口。

附录A  PL/SQL保留字

此附录列出了PL/SQL 以及数据库所保留的关键字。

附录B 包使用指南

此附录介绍了PL/SQL可以使用的所有内置包。这些包实现了文件I/O、作业调度、会话间通信、动态程序设计以及共享池管理等等功能。

附录C PL/SQL特性的字汇表

此附录给出了PL/SQL特性的一个按字母顺序排列的表,它可以作一个很好的参考索引。我们对每个特性都进行了简要的描述,并给出了相应主题所在的章节。

附录D 数据字典

此附录给出了和PL/SQL程序员相关的数据字典视图。

编者
1998年5月

图书序言

数据库技术的发展,使它已经成为现代信息技术的重要组成部分,成为现代计算机信息系统和计算机应用系统的基础和核心。可以说,如果没有数据库技术的发展,没有优秀的数据库产品的推出和应用,社会信息化的进程将是难以实现的。因此,在衡量一个国家信息化的程度时,其数据库的建设规模、数据库信息量的大小和使用程度也就成为重要的标志之一。

我国引进数据库技术始于70年代末,从微型计算机上运行的数据库到当前的大型数据库系统的引入和应用,已经有20多年的历史。20多年来,虽然在微型计算机数据库知识的普及和应用上取得了很大的进展和成绩,在大型数据库系统的开发和应用上也取得了进步,甚至还有了国产化的数据库软件,但如果从对数据库系统的应用效果和对数据库技术的掌握上来比较,则与发达国家之间仍然存在较大的差距,特别是在大型数据库系统的开发、建设和应用水平方面差距更大。这种差距主要表现在两个方面:第一是数据库的数量及所收集信息的数量和质量与发达国家相比存在很大的差距;第二是对数据库技术和产品的掌握和应用上更有待于提高和加强,应用人才急需培养,经验有待积累和总结。前者的改善应依靠于对数据库应用基础工作的加强,如重视基础数据的收集和整理,即重视数据工程的建设,并制定相应的数据政策;而后者的改善则会更多地依赖于人们对数据库技术和对数据库产品的掌握。为此,我们必须首先占有充足的资料并加以消化。如果数据库厂家和出版机构能提供较完整的、质量较高的技术资料和书籍,并为较多的数据库技术人员和应用人员所掌握,无疑将会促进国内数据库技术人才的成长并推动数据库应用水平的提高。

喜闻机械工业出版社华章分社与ORACLE出版公司合作,为配合ORACLE 8在中国的发行,由机械工业出版社买断了ORACLE出版公司出版的ORACLE 8系列丛书的中文简体字版的出版权,并组织国内从事ORACLE应用开发的科技人员和教学人员进行翻译出版,还邀请国内数据库专家对译稿进行了审定,以保证丛书在技术上的权威性。无疑,这对大型数据库系统特别是ORACLE数据库系统的开发和应用将起到很好的推动作用。

众所周知,ORACLE公司推出的ORACLE 8是一种面向网络计算的数据库(the database for Network Computing)并支持对象关系模型的数据库产品。该系列丛书全面地介绍了ORACLE 8的功能和技术,具体书目见封底。

该丛书内容丰富,涵盖了大型数据库应用开发中的全部技术内容,有的资料,如《Oracle 8数据仓库分析、构建实用指南》、《新版Oracle 8故障解决手册》等都是在国内首次面世,很值得数据库技术工作者参考和阅读。

无疑,这套丛书应该有广泛的读者,它可供大型数据库系统,特别是ORACLE系统应用的系统管理员、应用程序员、系统分析员和设计人员以及广大用户学习和参考,也可做为ORACLE系统培训的教材和高等学校本科和研究生的学习参考书,同时也是掌握大型数据库系统理论和实践的好材料。

应感谢机械工业出版社的领导和组织翻译丛书的先生们和女士们,辛勤的劳动将为我国信息化事业的发展增加动力。ORACLE中国有限公司对丛书的出版给予极大的关注与支持,李文谦总经理并为丛书的出版题词。

预祝丛书的出版和发行获得成功,并得到读者的欢迎。

.

作者简介

Scott Urman:暂无简介

译者简介

译友翻译组:暂无简介

图书目录

贺辞

前言
第1章 PL/SQL简介
1.1  为什么使用PL/SQL
1.1.1  客户-服务器模式
1.1.N

教学资源推荐
作者: [美]孟卫一(Weiyi Meng)纽约州立大学宾汉姆顿分校 於德(Clement T. Yu) 伊利诺伊大学芝加哥分校  著
作者: (美)Abraham Silberschatz 耶鲁大学 (美)Henry F. Korth利哈伊大学 (印)S. Sudarshan印度理工学院 著
作者: Thomas M. Connolly, Carolyn E. Begg
参考读物推荐
作者: (美)Andy Tremayne
作者: Benjamin Rosenzweig; Elena Silvestrova Rakhimov
作者: 周启海等