典型数据库ORACLEch41[PLSQL设计].ppt
文本预览下载声明
第四章 PL/SQL
第一部分 PL/SQL基础
第二部分 PL/SQL程序设计
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
PL/SQL基础
PL/SQL基本概念
PL/SQL程序结构
PL/SQL流程控制
PL/SQL的异常处理
游标的使用
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
PL/SQL基本概念
什么是PL/SQL
PL/SQL(Procedural Language for Structured Query Language)是Oracle公司对标准SQL语言扩展而形成的过程化的查询语言。SQL的特点是非过程化,即不用指明执行的具体方法和途径,而是简单的调用相应语句来直接取得结果即可。虽然这种不关注任何实现细节的语言对于开发者来说有着极大的便利,然而对于有些复杂的业务流程又要求相应的程序来描述,那么SQL就有些无能为力了。PL/SQL的出现正是为了解决这一问题,它在SQL中引入了变量、流程控制结构等结构化程序设计要素,与C,C++,Java等语言一样关注于处理细节,可以用来实现比较复杂的业务逻辑。
PL/SQL结构见P201 FIGURE 6-1
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
PL/SQL程序结构
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
定义部分
简单变量定义的一般格式:
variablename [CONSTANT]datatype [[NOT NULL] {DEFAULT|:=} expression];
[说明]
定义部分是包括在关键字DECLARE和BEGIN之间的部分,每条语句后用‘;’结束。
每行只能定义一个变量。
如果加上关键字CONSTANT,则表示所定义的为一个常量,必须为它赋初值。
为变量赋值时,使用赋值符号‘:=’或‘DEFAULT’,默认值为空。如果定义的变量不能为空,则必须加上关键字NOT NULL,并赋初值。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
定义部分
[示例]
1、声明几个变量及常量
DECLARE
v_today DATE NOT NULL :=sysdate;
v_age NUMBER(3) NOT NULL :=25;
v_field VARCHAR2(10) ;
c_aa CONSTANT NUMBER(2) :=18;
c_bb CONSTANT NUMBER(2) DEFAULT 18;
(PL/SQL最常用数据类型见P205)
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile 5.2.0.0.
Copyright 2004-2011 Aspose Pty Ltd.
2、声明一个变量,使它的类型与某个变量或数据库基本表中某个列的数据类型一致。(不知道该变量或列的数据类型)可以使用 %TYPE(P209) ,如果变量或表列数据类型发生变化,它会自动随之而变。
DECLARE
eno EMP.EMPNO%TYPE;
……
DECLARE
teacher_name char(5);
显示全部