欢迎来到天天文库
浏览记录
ID:22684142
大小:600.01 KB
页数:69页
时间:2018-10-30
《oracle数据库分册》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、经营分析系统员工培训文档--数据库分册内部资料注意保密经营分析系统员工培训文档--ORACLE数据库分册Vesion1.04.SQL4.2.PL/SQL4.2.1.PL/SQL来源针对SQL92标准,各数据库厂商在标准基础上做了一定的扩展,SQLSERVER的扩展语言叫T-SQL,PL/SQL是ORACLE对标准数据库语言的扩展,ORACLE公司已经将PL/SQL整合到ORACLE服务器和其他工具中了,近几年中更多的开发人员和DBA开始使用PL/SQL,本文将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL/SQL程序。
2、PL/SQL从版本6开始PL/SQL就被可靠的整合到ORACLE中了。PL/SQL不是一个独立的产品,他是一个整合到ORACLE服务器和ORACLE工具中的技术,可以把PL/SQL看作ORACLE服务器内的一个引擎,sql语句执行者处理单个的sql语句,PL/SQL引擎处理PL/SQL程序块。当PL/SQL程序块在PL/SQL引擎处理时,ORACLE服务器中的SQL语句执行器处理pl/sql程序块中的SQL语句。PL/SQL的优点如下:Ø第69页共69页经营分析系统员工培训文档--数据库分册内部资料注意保密PL/SQL是一种高性能的基于
3、事务处理的语言,能运行在任何ORACLE环境中,支持所有数据处理命令。通过使用PL/SQL程序单元处理SQL的数据定义和数据控制元素。ØPL/SQL支持所有SQL数据类型和所有SQL函数,同时支持所有ORACLE对象类型ØPL/SQL块可以被命名和存储在ORACLE服务器中,同时也能被其他的PL/SQL程序或SQL命令调用,任何客户/服务器工具都能访问PL/SQL程序,具有很好的可重用性。Ø可以使用ORACLE数据工具管理存储在服务器中的PL/SQL程序的安全性。可以授权或撤销数据库其他用户访问PL/SQL程序的能力。ØPL/SQL代码
4、可以使用任何ASCII文本编辑器编写,所以对任何ORACLE能够运行的操作系统都是非常便利的Ø对于SQL,ORACLE必须在同一时间处理每一条SQL语句,在网络环境下这就意味作每一个独立的调用都必须被oracle服务器处理,这就占用大量的服务器时间,同时导致网络拥挤。而PL/SQL是以整个语句块发给服务器,这就降低了网络拥挤。4.2.2.PL/SQL基本结构PL/SQL是Oracle对SQL规范的扩展,是一种块结构语言,即构成一个PL/SQL程序的基本单位(过程、函数和无名块)是逻辑块,可包含任何数目的嵌套了快。这种程序结构支持逐步求精
5、方法解决问题。一个块(或子块)将逻辑上相关的说明和语句组合在一起,其形式为:DECLARE---说明BEGIN---语句序列EXCEPTION---例外处理程序END;PL/SQL机可执行过程性语句,而将SQL语句发送到ORACLE服务器上的SQL语句执行器。在ORACLE预编译程序或OCI程序中可嵌入无名的PL/SQL块。如果ORACLE具有PROCEDURAL选件,有名的PL/SQL块(子程序)可单独编译,永久地存储在数据库中,准备执行。Ø除非特别指明,SQL不区分大小写ØSQL可以在一行或者多行输入Ø关键字不能分开Ø子句通常放在单
6、独的行中Ø使用缩进是为了提高代码可读性Ø关键字通常使用大写字母输入,其他文字用小写输入第69页共69页经营分析系统员工培训文档--数据库分册内部资料注意保密4.2.3.数据类型4.2.3.1.预定义数据类型Oracle的数据类型可以分为四类,分别是标量类型,复合类型,引用类型和LOB类型。标量类型没有内部组件;而复合类型包含了能够被单独操作的内部组件;引用类型类似于3G语言中的指针,能够引用一个值;LOB类型的值就是一个lob定位器,能够指示出大对象(如图像)的存储位置。下图是在PL/SQL中可以使用的预定义类型,其中标量类型又分为四类
7、:数字、字符、布尔和日期/时间。l数字型数字类型可以存储整数、实数和浮点数,可以表示数值的大小,参与计算。BINARY_INTEGER第69页共69页经营分析系统员工培训文档--数据库分册内部资料注意保密我们可以使用BINARY_INTEGER数据类型来存储有符号整数。它的范围是-2**31至2**31。跟PLS_INTEGER一样,BINARY_INTEGER所需的存储空间也要小于NUMBER。但是,大多数的BINARY_INTEGER操作要比PLS_INTEGER操作慢。BINARY_INTEGER子类型所谓的基类型,就是有子类型继
8、承于它。子类型在基类型的基础上添加一些约束限制,也可能重新定义数值范围。为了使用方便,PL/SQL预定义了下面几个BINARY_INTEGER的子类。NATURALNATURALNPOSITIVEPOSIT
此文档下载收益归作者所有