Posted on 2008-10-26 22:10
sailor 阅读(193)
评论(0) 编辑 收藏 所属分类:
oracle
一:PL/SQL基础
1、PL/SQL结构
三部分组成:定义部分、执行部分、例外处理部分
语法
1DECLARE
2 定义常量、变量、游标、例外
3BEGIN
4 执行部分
5EXCEPTION
6 异常处理部分
7END;
2、PL/SQL分块
匿名块
命名块
子程序
(1)过程
procedure
1create or replace procedure update_dept(v_no number, v_name varchar2, v_description varchar2)
2is
3begin
4 update dept
5 set dname=v_name, description=v_description
6 where depno=v_no;
7end;
8/
9
10调用:
11exec update_dept(5,'IT部门','研发中心');
12
13call update_dept(8,'服务部','提售后服务');
14
(2)函数
function
1create or replace function stat_dept(v_no NUMBER)
2return NUMBER is
3v_count NUMBER(3,0);
4BEGIN
5 dbms_output.put_line('统计部门人数');
6 select count(empno) into v_count from emp
7 where depno=v_no;
8 return v_count;
9END;
10/
11
12var dno NUMBER
13exec :dno := stat_dept(2);
14
15print dno;
(3) 包
包用于逻辑组合相关的过程和函数,它由包规范和包体两部分组成。包规范用于定义公用常量、变量、过程和函数。包规范只包含了过程和函数的说明,而没有过程和函数的实现代码。包体用于实现包规范中的过程和函数。
(4) 触发器
触发器是指隐含执行的存储过程。当执行触发器时,必须要指定触发事件以及触发操作,常用的触发事件包括insert,update,delete,而触发操作实际上是一个PL/SQL块。
3、定义和使用变量
变量类型
标量:int,varchar2,number...
复合:recorde, table, varray
参照:ref CURSOR , ref object_type
LOB:BFILE, CLOB, NCLOB