????? 首先,打開DB2開發(fā)中心,新建項目后,連接上指定的數(shù)據(jù)庫。右鍵點擊新建存儲過程,可以直接新建,也可以使用向?qū)Ыⅰ=ê煤缶腿缦滤暎?br />
CREATE PROCEDURE ERPT1104.PROCEDURE1 (? )
------------------------------------------------------------------------
-- SQL 存儲過程
------------------------------------------------------------------------
P1: BEGIN
END P1??????
??????? 這樣就是建立好了一個存儲過程。其中ERPT1104.PROCEDURE1 中‘ERPT1104’為數(shù)據(jù)庫模式名,PROCEDURE1 為存儲過程名稱,可以自行修改。(? )這里面為參數(shù),如果需要傳入?yún)?shù)或者傳出參數(shù),就需要寫了,格式為:In?a varchar(32) ,Out b varchar(32),InOut c varchar(32)此處In,Out,InOut為參數(shù)模式。a,b,c為參數(shù)名稱,varchar(32)為參數(shù)類型。
??????? 然后我們可以開始寫具體的內(nèi)容了。當(dāng)然是在BEGIN下面開始寫了。
一般來說,都是先定義變量。先講簡單的查詢。
declare m varchar(32);
select name into m from custom where?id=a;
這個意思就是定義個變量m,根據(jù)id值從custom表中查出name值賦給變量m,此處的a是從外面?zhèn)鬟^來的參數(shù)值。注意,此處查到的數(shù)據(jù)僅一條時在這樣使用。如果是多條,就需要使用游標(biāo)了,那在下節(jié)在說。本節(jié)不考慮。
這樣,我們得到了變量m的值,如果我們想自己定義變量的值,那就可以:
set m='jiao';
如果我們想執(zhí)行insert,update。
那就象SQL一樣寫就可以了。比如:
insert into custom?values(m);
update custom set name=m where id=a;
如果用戶想進(jìn)行大量的數(shù)據(jù)計算,可以自行體驗下,基本方法就是這樣。
當(dāng)然還有簡單判斷了,下面我們來說IF,WHILE的用法
語言都學(xué)過不少了,這里就講下在DB2下是什么格式的:
if a='0' then
select * from custom;
else
select name from custom;
end if;
while a='0'?do
select * from custom;
end while;
注意使用while一定不能進(jìn)入死循環(huán)中。條件一定要寫對。
到次,你應(yīng)該會進(jìn)行一般的操作了。
??