oracle数据库(五)

    PL/SQL基础

PL/SQL语言是对oracle数据库语言的扩展,是一种高性能的基于处理事务的语言,能运行在任何oracle环境中,支持所有数据处理命令,支持所有SQL数据类型和函数,支持所有oracle对象类型。PL/SQL块可以被命名和存储在数据库服务器中,同时也能被其他的PL/SQL程序或者SQL命令调用,所以具有很好的重用性。

一.PL/SQL程序块的基本结构

[declare
 --声明变量
 ]
begin
 --代码逻辑
[exception
 --异常处理
 ]
end;

注意:PL/SQL程序块中的语句用;作为结尾,所以;不会作为执行程序块的符号,使用/表示执行程序块。

二.常量和变量

2.1常量被定义后,需要初始化值,而且需要使用constant关键字,语法形式如下:

constant_name CONSTANT data_type { :=  | DEFAULT} value;

emp_number CONSTANT NUMBER(4)   := 7900;

:=不能分开,之间不能有空格。

2.2变量定义不用进行初始化,不需要CONSTANT关键字,变量值可以被程序修改。

variable_name data_type { :=  | DEFAULT} value;

三.%TYPE类型和%ROWTYPE类型

3.1 如果我们定义变量是无法确定其和数据库中对性的属性类型,我们可以使用%TYPE隐式的变量的数据类型指定为对应列的数据类型。

%ROWTYPE类型针对表中的一行,使用%ROWTYPE类型定义的变量可以存储表中一行数据。

3.2PL/SQL记录类型

PL/SQL记录类型用户用来自定义存储类型,可以存储由一个或者多个字段组成的一行数据。

创建语法如下:

TYPE record_name IS RECORD(
field_name data_type {:= | default} .....
);

四.条件选择语句和循环语句

4.1 IF条件语句

f 条件 then
 业务逻辑
[ elsif 条件 then
 业务逻辑
else
 业务逻辑 ]
end if;

4.2无条件循环

loop
 --循环语句
 [exit when 条件;]
end loop;

4.3有条件循环

while 条件
loop
--循环语句
end loop;

4.4for循环

for 变量 in 起始值..终止值
loop
--循环语句
end loop;

五.游标

使用select语句返回一个结果集,如果要对结果集中单独的行进行操作,需要使用游标。使用游标的四个步骤为声名游标、打开游标、检索游标、关闭游标。

1.声名游标,主要定义一个游标名称对应一个select语句,从而可以利用该游标对此查询语句返回的结果集进行单独操作。

declear

    cursor emp_cursor (dept_num NUMBER :=20)

     is 

    select empno,ename,job,sal

    from emp where deptno =dept_num;

2.打开游标

open cursor_name(参数);

3.检索游标

fetch cursor_name into variable{.....};

将查询的数据用定义的变量保存起来。

4.关闭游标

close cursor_name;

猜你喜欢

转载自www.cnblogs.com/zzuli/p/9474954.html