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;