ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介

SQL语言只是访问、操作数据库的语言,并不是一种具有流程控制的程序设计语言,而只有程序设计语言才能用于应用软件的开发。PL /SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问。由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理。除此之外,可以在ORACLE数据库的某些客户端工具中,使用PL/SQL语言也是该语言的一个特点。本章的主要内容是讨论引入PL/SQL语言的必要性和该语言的主要特点,以及了解PL/SQL语言的重要性和数据库版本问题。还要介绍一些贯穿全书的更详细的高级概念,并在本章的最后就我们在本书案例中使用的数据库表的若干约定做一说明。

1.1   SQLPL/SQL

1.1.1  什么是PL/SQL?

PL/SQL是 Procedure Language & Structured Query Language 的缩写。ORACLESQL是支持ANSI(American national Standards Institute)ISO92 (International Standards Organization)标准的产品。PL/SQL是对SQL语言存储过程语言的扩展。从ORACLE6以后,ORACLERDBMS附带了PL/SQL。它现在已经成为一种过程处理语言,简称PL/SQL。目前的PL/SQL包括两部分,一部分是数据库引擎部分;另一部分是可嵌入到许多产品(如C语言,JAVA语言等)工具中的独立引擎。可以将这两部分称为:数据库PL/SQL和工具PL/SQL。两者的编程非常相似。都具有编程结构、语法和逻辑机制。工具PL/SQL另外还增加了用于支持工具(如ORACLE Forms)的句法,如:在窗体上设置按钮等。本章主要介绍数据库PL/SQL内容。

1.2  PL/SQL的优点或特征

1.2.1  有利于客户/服务器环境应用的运行

对于客户/服务器环境来说,真正的瓶颈是网络上。无论网络多快,只要客户端与服务器进行大量的数据交换。应用运行的效率自然就回受到影响。如果使用PL/SQL进行编程,将这种具有大量数据处理的应用放在服务器端来执行。自然就省去了数据在网上的传输时间。

1.2.2  适合于客户环境

PL/SQL由于分为数据库PL/SQL部分和工具PL/SQL。对于客户端来说,PL/SQL可以嵌套到相应的工具中,客户端程序可以执行本地包含PL/SQL部分,也可以向服务发SQL命令或激活服务器端的PL/SQL程序运行。

1.2.3  过程化

PL/SQLOracle在标准SQL上的过程性扩展,不仅允许在PL/SQL程序内嵌入SQL语句,而且允许使用各种类型的条件分支语句和循环语句,可以多个应用程序之间共享其解决方案

1.2.4  模块化

PL/SQL程序结构是一种描述性很强、界限分明的块结构、嵌套块结构,被分成单独的过程、函数、触发器,且可以把它们组合为程序包,提高程序的模块化能力

1.2.5  运行错误的可处理性

使用PL/SQL提供的异常处理(EXCEPTION),开发人员可集中处理各种ORACLE错误和PL/SQL错误,或处理系统错误与自定义错误,以增强应用程序的健壮性。

1.2.6  提供大量内置程序包

ORACLE提供了大量的内置程序包。通过这些程序包能够实现DBS的一些低层操作、高级功能,不论对DBA还是应用开发人员都具有重要作用。

    当然还有其它的一些优点如:更好的性能、可移植性和兼容性、可维护性、易用性与快速性等。

1.3  PL/SQL 可用的SQL语句

    PL/SQLORACLE系统的核心语言,现在ORACLE的许多部件都是由PL/SQL写成。在PL/SQL中可以使用的SQL语句有:

INSERTUPDATEDELETESELECT INTOCOMMITROLLBACKSAVEPOINT

提示:在 PL/SQL中只能用 SQL语句中的 DML 部分,不能用 DDL 部分,如果要在PL/SQL中使用DDL(CREATE  table  )的话,只能以动态的方式来使用。

ORACLE 的 PL/SQL 组件在对 PL/SQL 程序进行解释时,同时对在其所使用的表名、列名及数据类型进行检查。

PL/SQL 可以在SQL*PLUS 中使用。

PL/SQL 可以在高级语言中使用。

PL/SQL可以在ORACLE的开发工具中使用(如:SQL DeveloperProcedure Builder)

其它开发工具也可以调用PL/SQL编写的过程和函数,如Power Builder 等都可以调用服务器端的PL/SQL过程。

1.4  运行PL/SQL程序

    PL/SQL程序的运行是通过ORACLE中的一个引擎来进行的。这个引擎可能在ORACLE的服务器端,也可能在 ORACLE 应用开发的客户端。引擎执行PL/SQL中的过程性语句,然后将SQL语句发送给数据库服务器来执行。再将结果返回给执行端。


#转自:EricHu   文章地址:ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介

     cnBlobs:http://www.cnblogs.com/huyong/
     CSDNhttp://blog.csdn.net/chinahuyong 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库中的基本数据类型包括: 1. 字符型:Char、Varchar、Varchar2、Long - Char:固定长度的字符类型,最大长度为2000个字符。 - Varchar:可变长度的字符类型,最大长度为4000个字节,如果存储的是多字节字符,则实际存储的字符数可能会少于4000个。 - Varchar2:可变长度的字符类型,与Varchar类似,但是Varchar2可以存储空值。 - Long:可变长度的字符类型,最大长度为2GB,但是由于Long类型已经过时,不建议使用。 2. 数值型:Number、Float、Double Precision - Number:精确数值类型,支持整数和小数,可指定最大精度和最大标度。 - Float:浮点数类型,可指定最大精度和最大标度,但是不支持精确计算。 - Double Precision:双精度浮点数类型,与Float类似,但是精度更高。 3. 日期型:Date、Timestamp、Interval Year to Month、Interval Day to Second - Date:日期类型,存储年、月、日、时、分、秒。 - Timestamp:时间戳类型,与Date类似,但是可以存储更高的精度。 - Interval Year to Month:时间间隔类型,用于表示年和月之间的间隔。 - Interval Day to Second:时间间隔类型,用于表示天、小时、分钟和秒之间的间隔。 4. 二进制型:Raw、Long Raw、Blob - Raw:固定长度的二进制类型,最大长度为2000个字节。 - Long Raw:可变长度的二进制类型,最大长度为2GB,但是由于已经过时,不建议使用。 - Blob:二进制大对象类型,可存储大量的二进制数据。 5. 大对象型:Clob、Nclob、Bfile - Clob:字符大对象类型,可存储大量的字符数据。 - Nclob:Unicode字符大对象类型,与Clob类似,但是支持Unicode字符集。 - Bfile:二进制文件类型,可存储大量的二进制数据,但是不存储在数据库中,而是存储在文件系统中,只保存文件的路径。 6. XML类型:XmlType - XmlType:XML类型,可存储XML文档。 7. 集合类型:Varray、Nested Table - Varray:变长数组类型,可存储一组数据,数组大小可变。 - Nested Table:嵌套表类型,可存储一组数据,但是数组大小固定。 8. 其他类型:Boolean、Binary Integer、Pl/Sql Record、Pl/Sql Table等 - Boolean:布尔类型,可存储True或False。 - Binary Integer:二进制整数类型,可存储-231到231-1之间的整数。 - Pl/Sql Record:记录类型,可存储一组相关的字段。 - Pl/Sql Table:表类型,可存储一组相关的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值