模式:
create or replace procedure 過(guò)程名(參數(shù)名 參數(shù)類(lèi)型,...)
is
變量名 變量類(lèi)型;
begin
過(guò)程內(nèi)容;
end 過(guò)程名;
/
show err;
?
舉例:
create or replace procedure proc_blddesignusagearea(p_buildid number) is
?/*
?函數(shù)功能:統(tǒng)計(jì)樓棟下房屋的用途、面積、套數(shù)等信息
??*/
?l_buildarea??? bldroom.buildarea%type;
?l_usearea????? bldroom.usearea%type;
?l_publicarea?? bldroom.publicarea%type;
?l_sets???????? building.sets%type;
?l_cnt1???????? number:=0;
begin?
?--[blddesignusagearea A,bldroom B,將屬于A而不屬于B的用途刪掉]--
?for brrs in (select nvl(designusage,'') designusage from blddesignusagearea where buildid=p_buildid minus select distinct nvl(designusage,'') designusage from bldroom where buildid=p_buildid and resopertype in (1,4))
?loop
??delete from bldDesignusagearea where buildid=p_buildid and nvl(designusage,'')=brrs.designusage;
?end loop;
?--[將同屬于A、B的用途更新,將不屬于A但屬于B的用途新增]--
?for brrs in (select distinct nvl(designusage,'') designusage from bldroom where buildid=p_buildid and resopertype in (1,4))
?loop
??select sum(buildarea),sum(usearea),sum(publicarea),count(bldroomid) into l_buildarea,l_usearea,l_publicarea,l_sets from bldroom where buildid=p_buildid and resopertype in (1,4) and nvl(designusage,'')=brrs.designusage;
??select count(*) into l_cnt1 from blddesignusagearea where buildid=p_buildid and nvl(designusage,'')=brrs.designusage;
??if l_cnt1=1 then --[樓棟下該用途存在只更新面積]--
???if l_sets>0 then
????update bldDesignusagearea set buildarea=l_buildarea,usearea=l_usearea,publicarea=l_publicarea,sets=l_sets where buildid=p_buildid and nvl(designusage,'')=brrs.designusage;
???else
????delete from bldDesignusagearea where buildid=p_buildid and nvl(designusage,'')=brrs.designusage;
???end if;
??elsif l_cnt1=0 then --[樓棟下該用途不存在新增記錄](méi)--
???if l_sets>0 then
????insert into bldDesignusagearea (buildid,designusage,buildarea,usearea,publicarea,sets) select p_buildid,brrs.designusage,l_buildarea,l_usearea,l_publicarea,l_sets from dual;
--???else ???
???end if;
??end if;
?end loop;
end proc_blddesignusagearea;
/
show err;
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫(xiě)作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

