為了避免編寫冗長的pl/sql**,可以通過pl/sql提供的塊、子程式和包3個程式單元將程式分成多個部分。
eg:-------建立函式封裝業務邏輯
create or replace function getaddsalaryratio(p_job varchar2)
return number
asv_result number(7,2);
begin
if p_job = 'clerk'
then
v_result := 0.10;
elsif p_job = 'salesman'
then
v_result := 0.12;
elsif p_job = 'manager'
then
v_result := 0.15;
end if;
return v_result;
end;
----呼叫函式簡化程式**
declare
v_job varchar2(100); --員工職位
v_empno varchar(20); --員工編號
v_ename varchar(60); --員工名稱
v_ratio number(7,2);
cursor c_emp
isselect job,empno,ename from scott.emp for update;
begin
open c_emp;
loop
fetch c_emp
into v_job,v_empno,v_ename;
exit when c_emp%notfound;
v_ratio := getaddsalaryratio (v_job);
update scott.emp
set sal = sal * (1 + v_ratio)
where current of c_emp;
dbms_output.put_line('已經為員工'
||v_empno
||':'
||v_ename
||'加薪成功!'
);end loop;
close c_emp;
exception
when others
then
dbms_output.put_line('沒有找到員工資料');
end;
使用函式之後,整個迴圈的**就更清晰,維護起來出錯的概率也降低了。
ps:其實pl/sql還提供了包功能,允許將多個子程式封裝在乙個包裡面來實現程式的模組化功能。
Struts Gossip 模組化程式
來源 http caterpillar.onlyfun.net gossip struts moduleunit.htm struts中很多設定都是在struts config.xml中加以設定,在大型網站的開發中,有很多小團隊會負責不同的模組,如果每乙個團隊都要對struts config.xml...
Android元件化模組化在移動應用開發中
在移動應用上由於應用本身與使用者相貼近,日常開發中難免的需求變更朝令夕改 朝三暮四,尤其遇到沒啥規範流程的或者形式主義流程 關於元件化模組化是什麼及其優點不再贅述,在此補充點優點而已 減少名言的聯想 linus read the ing source code 我們的終極目標不僅是解耦。簡化框架,減...
Flex之模組化
難道flex就不能開發大型應用了?還好flex提供了module的支援 我做openlaszlo的時候可沒有這麼幸運,只能自己開發module支援,不過現在已經徹底放棄openlaszlo 還是很簡單的,困難的是如何分割模組。xml 重點是如何呼叫module。有兩種方式可以呼叫module,一種是...