日期:2011-03-21 00:21:00 来源:本站整理
<b>Oracle PL/SQL语言底子</b>[Oracle防范]
本文“<b>Oracle PL/SQL语言底子</b>[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
PL/SQL是ORACLE对尺度数据库语言的扩大,ORACLE公司已经将PL/SQL整合到ORACLE 服务器和其他工具中了,近几年中更多的开辟人员和DBA开始利用PL/SQL,本文将报告PL/SQL底子语法,构造和组件、以及若何计划并履行一个PL/SQL程序.
PL/SQL的长处
从版本6开始PL/SQL就被坚固的整合到ORACLE中了,一旦掌握PL/SQL的长处以及其独有的数据管理的便利性,那么你很难想象ORACLE缺了PL/SQL的情形.PL/SQL 不是一个独立的产品,他是一个整合到ORACLE服务器和ORACLE工具中的技术,可以把PL/SQL看做ORACLE服务器内的一个引擎,sql语句履行者处理单个的sql语句,PL/SQL引擎处理PL/SQL程序块.当PL/SQL程序块在PL/SQL引擎处理时,ORACLE服务器中的SQL语句履行器处理pl/sql程序块中的SQL语句.
PL/SQL的长处以下:
. PL/SQL是一种高性能的基于事件处理的语言,能运行在任何ORACLE环境中,支持全部数据处理号令.通过利用PL/SQL程序单元处理SQL的数据定义和数据掌握元素.
. PL/SQL支持全部SQL数据范例和全部SQL函数,同时支持全部ORACLE对象范例
. PL/SQL块可以被命名和存储在ORACLE服务器中,同时也能被其他的PL/SQL程序或SQL号令调用,任何客户/服务器工具都能拜候PL/SQL程序,具有很好的可重用性.
. 可以利用ORACLE数据工具管理存储在服务器中的PL/SQL程序的安全性.可以受权或撤消数据库其他用户拜候PL/SQL程序的本领.
. PL/SQL代码可以利用任何ASCII文本编辑器编写,所以对任何ORACLE可以运行的操作系统都是非常便利的
. 关于SQL,ORACLE必须在同一时间处理每一条SQL语句,在网络环境下这就意味作每一个独立的调用都必须被oracle服务器处理,这就占用大量的服务器时间,同时招致网络拥挤.而PL/SQL是以整个语句块发给服务器,这就降低了网络拥挤.
PL/SQL块构造
PL/SQL是一种块构造的语言,构成PL/SQL程序的单元是逻辑块,一个PL/SQL 程序包含了一个或多个逻辑块,每个块都可以划分为三个部份.与其他语言相同,变量在利用之前必须声明,PL/SQL供应了独立的专门用于处理非常的部份,下面描写了PL/SQL块的差别部份:
声明部份(Declaration section)
声明部份包含了变量和常量的数据范例和初始值.这个部份是由关键字DECLARE开始,假如不需求声明变量或常量,那么可以忽视这一部份;需求阐明的是游标的声明也在这一部份.
履行部份(Executable section)
履行部份是PL/SQL块中的指令部份,由关键字BEGIN开始,全部的可履行语句都放在这一部份,其他的PL/SQL块也可以放在这一部份.
非常处理部份(Exception section)
这一部份是可选的,在这一部份中处理非常或错误,对非常处理的具体谈论我们在背面举行.
PL/SQL块语法
[DECLARE] ---declaration statements BEGIN ---executable statements [EXCEPTION] ---exception statements END |
PL/SQL块中的每一条语句都必须以分号完毕,SQL语句可以使多行的,但分号表示该语句的完毕.一行中可以有多条SQL语句,他们之间以分号脱离.每一个PL/SQL块由BEGIN或DECLARE开始,以END完毕.注释由--标示.
PL/SQL块的命名和匿名
PL/SQL程序块可以是一个命名的程序块也可以是一个匿名程序块.匿名程序块可以用在服务器端也可以用在客户端.
命名程序块可以呈目前其他PL/SQL程序块的声明部份,这方面对比明显的是子程序,子程序可以在履行部份引用,也可以在非常处理部份引用.
PL/SQL程序块可背独立编译并存储在数据库中,任何与数据库相衔接的利用程序都可以拜候这些存储的PL/SQL程序块.ORACLE供应了四种范例的可存储的程序:
. 函数
. 历程
. 包
. 触发器
函数
函数是命名了的、存储在数据库中的PL/SQL程序块.函数承受零个或多个输入参数,有一个返回值,返回值的数据范例在成立函数时定义.定义函数的语法以下:
FUNCTION name [{parameter[,parameter,...])] RETURN datatypes IS [local declarations] BEGIN execute statements [EXCEPTION exception handlers] END [name] |
历程
存储历程是一个PL/SQL程序块,承受零个或多个参数作为输入(INPUT)或输出(OUTPUT)、或既作输入又作输出(INOUT),与函数差别,存储历程没有返回值,存储历程不能由SQL语句直接利用,只能通过EXECUT号令或PL/SQL程序块内部调用,定义存储历程的语法以下:
PROCEDURE name [(parameter[,parameter,...])] IS [local declarations] BEGIN execute statements [EXCEPTION exception handlers ] END [name] |
包(package)
包其实就是被组合在一同的相关对象的调集,当包中任何函数或存储历程被调用,包就被加载入内存中,包中的任何函数或存储历程的子程序拜候速度将大大加快.
包由两个部份构成:标准和包主体(body),标准描写变量、常量、游标、和子程序,包体完好定义子程序和游标.
触发器(trigger)
触发器与一个表或数据库事件接洽在一同的,当一个触发器事件发生时,定义在表上的触发器被触发.
以上是“<b>Oracle PL/SQL语言底子</b>[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |
评论内容只代表网友观点,与本站立场无关!
评论摘要(共 0 条,得分 0 分,平均 0 分)
查看完整评论