|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
曾经的功能列表可能会迅速变得过时了。而且,有些功能对有的应用程序非常重要,但是对别的应用程序则不一定。oracle|轮回|游标|原创
这篇文章,是比来在写一个项目中所用的存储历程,因为是第一次打仗oracle,其间消费了很多工夫,才把功效完成!特纪录上去,以供参考!
createorreplacepackagePSH_GPRSSTREAMSTATis
--Author:ADMINISTRATOR
--Created:2004-12-810:56:01
--Purpose:GPRS流量统计形态
--统计GPRS流量
type
C_Curisrefcursor;
functionCalcu_GPRSSTREAMreturnnumber;
endPSH_GPRSSTREAMSTAT;
-----------------------------------------------------------------------------
createorreplacepackagebodyPSH_GPRSSTREAMSTATis
functionCalcu_GPRSSTREAMreturnnumber
is
c_IPPackHeadLenconstantnumber:=40;--界说IP包头长度
CURSORc_SPINFOis
selectdistinctspidfromsh_spinfowhereisactive=0;
c_MDTINFOC_Cur;
v_MDTINFOnumber;
v_UpTransContentLensnumber(20,0);--寄存以后GPRS终端上传转发的信息内容长度
v_UpContentLensnumber(20,0);
v_UpTotalLensnumber(20,0);--累计GPRS终端上传的信息内容长度
v_DownContentLensnumber(20,0);
v_DownTotalLensnumber(20,0);
newIDnumber(20,0);
begin
--初始化
selectmax(statid)intonewIDfromsh_gprsstreamstat;
if(newIDisnull)then
newID:=1;
endif;
forv_SPINFOInc_SPINFOloop--起首猎取SPID
--其次遍历出与以后SPID对应的一切MDT
openc_MDTINFoforselectdistinctmdtidfromsh_mdtinfowhere(isactive=0)and(spid=v_SPINFO.spid);
loop
fetchc_MDTINFOintov_MDTINFO;
exitwhenc_MDTINFO%notfound;
v_UpContentLens:=0;
v_UpTransContentLens:=0;
v_UpTotalLens:=0;
v_DownContentLens:=0;
v_DownTotalLens:=0;
--上面两个select语句是用来取得GPRS终端上传的信息流量
selectsum(length(content)+c_IPPackHeadLen)intov_UpContentLensfromsh_gprsmdtupinfowhere(MDTID=v_MDTINFO)and(spid=v_SPINFO.spid);
selectsum(length(content)+c_IPPackHeadLen)intov_UpTransContentLensfromsh_gprsmdttransinfowhere(issuccess=1)and(MDTID=v_MDTINFO)and(spid=v_SPINFO.spid);
if(v_UpContentLensisnull)then
v_UpContentLens:=0;
endif;
if(v_UpTransContentLensisnull)then
v_UpTransContentLens:=0;
endif;
v_UpTotalLens:=v_UpTotalLens+v_UpContentLens+v_UpTransContentLens;
--上面的Select语句是用来取得服务商下发的信息流量
selectsum(length(content)+c_IPPackHeadLen)intov_DownContentLensfromsh_gprsspdowninfowhere(MDTID=v_MDTINFO)and(spid=v_SPINFO.spid);
if(v_DownContentLensisnull)then
v_DownContentLens:=0;
endif;
v_DownTotalLens:=v_DownTotalLens+v_DownContentLens;
--将统计出的累计值寄存到流量形态统计表中
if(v_UpTotalLens>0)or(v_DownTotalLens>0)then
insertintosh_gprsstreamstat(statid,spid,mdtid,starttime,endtime,mdtupstream,spdownstream)
values(newID,v_SPINFO.spid,v_MDTINFO,sysdate,sysdate,v_UpTotalLens,v_DownTotalLens);
--自增量加1
newID:=newID+1;
endif;
endloop;
closec_MDTINFO;
commit;
endloop;
return1;
end;
begin
null;
endPSH_GPRSSTREAMSTAT;
DBaaS解决方案可以降低首次投入成本,对于那些小企业来说,他们往往认为内部部署的数据库成本太高,DBaaS的成本和灵活性优势对小企业吸引力更大,他们是云数据库解决方案的重点客户群体。 |
|