Posted on 2008-10-26 22:10
sailor 閱讀(194)
評論(0) 編輯 收藏 所屬分類:
oracle
一:PL/SQL基礎(chǔ)
1、PL/SQL結(jié)構(gòu)
三部分組成:定義部分、執(zhí)行部分、例外處理部分

語法
1
DECLARE
2
定義常量、變量、游標(biāo)、例外
3
BEGIN
4
執(zhí)行部分
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
調(diào)用:
11
exec update_dept(5,'IT部門','研發(fā)中心');
12
13
call update_dept(8,'服務(wù)部','提售后服務(wù)');
14
(2)函數(shù)

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('統(tǒng)計部門人數(shù)');
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) 包
包用于邏輯組合相關(guān)的過程和函數(shù),它由包規(guī)范和包體兩部分組成。包規(guī)范用于定義公用常量、變量、過程和函數(shù)。包規(guī)范只包含了過程和函數(shù)的說明,而沒有過程和函數(shù)的實現(xiàn)代碼。包體用于實現(xiàn)包規(guī)范中的過程和函數(shù)。
(4) 觸發(fā)器
觸發(fā)器是指隱含執(zhí)行的存儲過程。當(dāng)執(zhí)行觸發(fā)器時,必須要指定觸發(fā)事件以及觸發(fā)操作,常用的觸發(fā)事件包括insert,update,delete,而觸發(fā)操作實際上是一個PL/SQL塊。
3、定義和使用變量
變量類型
標(biāo)量:int,varchar2,number...
復(fù)合:recorde, table, varray
參照:ref CURSOR , ref object_type
LOB:BFILE, CLOB, NCLOB