Posted on 2008-10-26 22:10
sailor 阅读(198)
评论(0) 编辑 收藏 所属分类:
oracle
一:PL/SQL基础
1、PL/SQL结构
三部分组成:定义部分、执行部分、例外处理部分

语法
1
DECLARE
2
定义常量、变量、游标、例外
3
BEGIN
4
执行部分
5
EXCEPTION
6
异常处理部分
7
END;
2、PL/SQL分块
匿名块
命名块
子程序
(1)过程

procedure
1
create or replace procedure update_dept(v_no number, v_name varchar2, v_description varchar2)
2
is
3
begin
4
update dept
5
set dname=v_name, description=v_description
6
where depno=v_no;
7
end;
8
/
9
10
调用:
11
exec update_dept(5,'IT部门','研发中心');
12
13
call update_dept(8,'服务部','提售后服务');
14
(2)函数

function
1
create or replace function stat_dept(v_no NUMBER)
2
return NUMBER is
3
v_count NUMBER(3,0);
4
BEGIN
5
dbms_output.put_line('统计部门人数');
6
select count(empno) into v_count from emp
7
where depno=v_no;
8
return v_count;
9
END;
10
/
11
12
var dno NUMBER
13
exec :dno := stat_dept(2);
14
15
print dno;
(3) 包
包用于逻辑组合相关的过程和函数,它由包规范和包体两部分组成。包规范用于定义公用常量、变量、过程和函数。包规范只包含了过程和函数的说明,而没有过程和函数的实现代码。包体用于实现包规范中的过程和函数。
(4) 触发器
触发器是指隐含执行的存储过程。当执行触发器时,必须要指定触发事件以及触发操作,常用的触发事件包括insert,update,delete,而触发操作实际上是一个PL/SQL块。
3、定义和使用变量
变量类型
标量:int,varchar2,number...
复合:recorde, table, varray
参照:ref CURSOR , ref object_type
LOB:BFILE, CLOB, NCLOB