仓酷云

标题: MYSQL网页设计怎样在Oracle中利用游标来完成多重轮回... [打印本页]

作者: 海妖    时间: 2015-1-16 22:42
标题: MYSQL网页设计怎样在Oracle中利用游标来完成多重轮回...
曾经的功能列表可能会迅速变得过时了。而且,有些功能对有的应用程序非常重要,但是对别的应用程序则不一定。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的成本和灵活性优势对小企业吸引力更大,他们是云数据库解决方案的重点客户群体。
作者: 飘灵儿    时间: 2015-1-19 21:19
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
作者: 老尸    时间: 2015-1-28 11:24
入门没那么困难,精通没那么容易
作者: 小妖女    时间: 2015-2-5 21:10
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
作者: 第二个灵魂    时间: 2015-2-13 15:44
可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。
作者: 飘飘悠悠    时间: 2015-3-3 23:45
同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。
作者: 若天明    时间: 2015-3-11 14:44
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
作者: 兰色精灵    时间: 2015-3-19 00:15
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
作者: 柔情似水    时间: 2015-3-26 21:50
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2