经典Oracle数据库培训_PLSQL编程.ppt
文本预览下载声明
PL/SQL编程;本章学习目标
本章将讲述PL/SQL基础语法,结构和组件、以及如何设计并执行一个PL/SQL程序。;本章内容安排;2.1 PL/SQL简介 ;1. PL/SQL的优点
(1)PL/SQL是一种高性能的基于事务处理的语言,能运行在任何Oracle环境中,支持所有数据处理命令。通过使用PL/SQL程序单元处理SQL的数据定义和数据控制元素。
(2)PL/SQL支持所有SQL数据类型和所有SQL函数,同时支持所有Oracle对象类型。
(3)PL/SQL块可以被命名和存储在Oracle服务器中,同时也能被其他的PL/SQL程序或SQL命令调用,任何客户/服务器工具都能访问PL/SQL程序,具有很好的可重用性。
(2)可以使用Oracle数据工具管理存储在服务器中的PL/SQL程序的安全性。可以授权或撤销数据库其他用户访问PL/SQL程序的能力。
(5)PL/SQL代码可以使用任何ASCII文本编辑器编写,所以对任何Oracle能够运行的操作系统都是非常便利的。;2. PL/SQL的缺点
对于SQL,Oracle必须在同一时间处理每一条SQL语句,在网络环境下这就意味作每一个独立的调用都必须被oracle服务器处理,这就占用大量的服务器时间,同时导致网络拥挤。而PL/SQL是以整个语句块发给服务器,这就降低了网络拥挤。
;服务器端 PL/SQL 不需要显式的安装或许可。它是 Oracle9i 数据库的隐式部分,此处有相应的文档。
PL/SQL 编译器和解释器也嵌入到 Oracle Developer 中,为开发者在客户端和服务器端提供一致的、可利用的开发模型。
; 2.2.2 常量与变量 ;;;;;;;;;;;;; 1、条件结构
1) If条件判断逻辑结构
If条件判断逻辑结构有三种表达方式。
①表达式一:
if condition then Statement end if
该表达式的功能为:若条件为真,执行then后的语句;否则,跳出条件语句执行end if后的语句。
②表达式二:
if condition then Statements_1 else Statements_2 end if
该表达式的功能为:如果条件为真执行then后的语句,否则执行else后的语句。
③表达式三:
if condition1 then Statements_1 elsif condition2
then Statements_2 else Statements_3 end if
该表达式的功能为:如果if后的条件成立,执行then后面的语句,否则判断elseif后面的条件,条件成立执行第二个then后面的语句,否则执行else后的语句。这是条件语句嵌套。
IF 可以嵌套,可以在IF 或IF ..ELSE语句中使用IF或IF…ELSE语句。;2)Case表达式
Case语句的基本格式如下:
Case变量
WHEN表达式1 then值1
WHEN表达式2 then值2
WHEN表达式3 then值3
WHEN表达式2 then值2
ELSE值5
END;
Case语句的功能:首先设定变量的值作为条件,然后顺序检查表达式,一旦从中找到与条件匹配的表达式值,就停止case语句的处理。;2、循环控制
(1)loop…exit…end循环控制语句
LOOP循环语句是其中最基本的一种。LOOP语句的格式如下:
LOOP
statements
END LOOP;
这种循环语句是没有终止的,如果不人为控制的话,其中的statements将会无限地执行。一般可以通过加入EXIT语句来终结该循环。
(2)WHILE…..LOOP循环控制语句
WHILE…..LOOP有一个条件与循环相联系,如果条件为TRUE,则执行循环体内的语句,如果结果为FALSE,则结束循环。;(3)FOR..LOOP循环控制语句
FOR..LOOP循环控制语句的格式如下:
FOR counter IN [REVERSE] start_range..end_range LOOP
statements;
END LOOP;
LOOP和WHILE循环的循环次数都是不确定的,FOR循环的循环次数是固定的,counter是一个隐式声明的变量,初始值是start_range,第二个值是start_range+1,直到end_range,如果start_range等于end _range,那么循环将执行一次。如果使用了REVERSE关键字,那么范围将是一个降序。
;3、GOTO语句
GOTO语句的格式如下:
GOTO LABEL;
执行GOTO语句时,控制会立即转到由标签标记的语句。PL/SQL中对GOTO语句有一些限制,对于
显示全部