仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1111|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL网页设计怎样在Oracle中利用游标来完成多重轮回...

[复制链接]
海妖 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:42:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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的成本和灵活性优势对小企业吸引力更大,他们是云数据库解决方案的重点客户群体。
飘灵儿 该用户已被删除
沙发
发表于 2015-1-19 21:19:00 | 只看该作者
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
老尸 该用户已被删除
板凳
发表于 2015-1-28 11:24:32 | 只看该作者
入门没那么困难,精通没那么容易
小妖女 该用户已被删除
地板
发表于 2015-2-5 21:10:35 | 只看该作者
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
第二个灵魂 该用户已被删除
5#
发表于 2015-2-13 15:44:01 | 只看该作者
可能有的朋友会抱怨集成的orderby,其实如果使用ranking函数,Orderby是少不了的。如果担心Orderby会影响效率,可以为orderby的字段建立聚集索引,查询计划会忽略orderby操作(因为本来就是排序的嘛)。
飘飘悠悠 该用户已被删除
6#
发表于 2015-3-3 23:45:41 | 只看该作者
同样会为索引视图等应用带来麻烦。看看行级和事务级的快照数据放在tempdb中,就能感觉到目前架构的尴尬。
若天明 该用户已被删除
7#
发表于 2015-3-11 14:44:00 | 只看该作者
SP4是一个累积性的ServicePack,包含自以前的ServicePack发布以来所有的修补程序(包括MS03-031安全公告)。
兰色精灵 该用户已被删除
8#
发表于 2015-3-19 00:15:33 | 只看该作者
sqlserver的痛苦之处在于有用文档的匮乏,很多只是表明的东西
柔情似水 该用户已被删除
9#
发表于 2015-3-26 21:50:51 | 只看该作者
两个月啃那本sqlserver2005技术内部-存储引擎,花了几个月啃四本书
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-6-17 05:04

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表