第3章使用PLSQL..doc
文本预览下载声明
第3章 使用PL/SQL
课程目标:
1、理解PL/SQL的用法
2、了解数据类型及其用法
3、理解逻辑比较的内容
4、理解控制结构的内容
5、了解错误处理的方法
一、PL/SQL简介。
1、PL/SQL的优点。
PL/SQL(procedural language/sql,过程语言/sql)可用于创建存储过程、触发器、程序包。与oracle服务器和oracle工具紧密集成,具备可移植性、灵活性、安全性。支持SQL、支持面向对象编程(oop)等。
2、PL/SQL块简介。
PL/SQL是一种块结构的语言,它将一组语句放在一个块中。构成PL/SQL程序的基本单元是逻辑块,该逻辑块可以包含任何数量的嵌套子块,每个逻辑块对应要解决的问题或子问题。在PL/SQL块中可以使用select、insert、update、delete等dml语句、事务控制语句、sql函数等。PL/SQL块中不允许使用create、drop、alter等ddl语句。但可以通过动态sql来执行他们。
PL/SQL块分为三个部分。
Declare
……
Begin
……
[
Exception
……
]
end;
3、PL/SQL对大小写不敏感,代码中常用到的符号如下:
:= 赋值操作符号
|| 连接操作符号
-- 单行注释
/* */ 多行注释
** 求幂操作
4、声明变量
声明变量必须指定变量的数据类型,可以在声明时进行初始化。一条语句只能定义一个变量。
以下都是正确的变量定义。
declare
vcode varchar2(5); /*定义变量*/
vname varchar2(25) :=’jack’; /*定义变量并赋值jack*/
rate number(7,2); /*定义数值型变量*/
start_date date; /*定义日期型变量*/
status Boolean; /*定义布尔变量*/
begin
……
end;
5、给变量赋值
status:=true;
start_date:=’03-07月-07’;
vcode:=”003”
select 某个字段 into 某变量 from 某个表 where 字段名=”值”;
/*注意,上述用语句赋值必须确保查询结果返回值有且仅有一个。*/
6、定义常量
格式:变量名 constant 数据类型 := 初始值;
比如:
declare
total constant number :=2000; /*定义常量number并赋值*/
begin
……
end;
7、属性类型
(1)%type类型。
比如:icode item.itemcode%type
/*表示icode变量的类型与表item中itemcode字段类型一致*/
(2)%rowtype类型
比如:emp_rec emp%rowtype;
/*表示emp_rec变量可存储从emp表中提取的一整条记录。*/
使用属性类型的优点。
(1)不需知道被引用的列或表的具体数据类型。
(2)如果更改了被引用对象(如表)的数据库定义,那么变量的数据类型也会随之更改。
8、比较符
关系比较符:,=,=,=,,
逻辑比较符:not and or
二、控制结构
1、条件控制
(1) if – then语句
〔格式〕
if 条件 then
语句体;
end if ;
(2) if – then – else语句
〔格式〕
if 条件 then
语句体1;
else
语句体2;
end if ;
(3) if – then – elsif语句
if 条件1 then
语句体1;
elsif 条件2 then
语句体2;
else
语句体3;
end if ;
(4) case 语句
〔格式〕
case 表达式
when 表达式或值 then 语句体1;
when 表达式或值 then 语句体2;
……………………;
when 表达式或值 then 语句体n;
[else 语句体;]
end case;
比如:
/*注意*/oracle中字符或字符串比较运算时是大小写敏感,其余不敏感。
Case 语句的另外一种用法是,不用选择器,而直接计算when子句中的各个比较表达式,找到第一个为true的表达式,然后执行相应的语句序列。
比如:
2、循环语句。
(1) loop……end loop循环
这种循环必须在其循环体中包含一条exit语句,否则是无限循环。
〔格式〕
loop
语句体;
end loo
显示全部