IT技术互动交流平台

实例讲解Oracle存储过程的使用方法

作者:夏果果  来源:IT165收集  发布日期:2012-01-15 16:53:08

  Oracle存储过程对于Oracle数据库中的重要性毋庸置疑,下面就为您介绍一个Oracle存储过程的使用实例,希望对您学习Oracle存储过程有更多的了解。

  最近在写一个项目中所用的Oracle存储过程,由于是第一次接触oracle,其间花费了许多功夫,才把功能实现!特记录下来,以供参考.


    create or replace package PSH_GPRSSTREAMSTAT is
  -- Author : ADMINISTRATOR
  -- Created : 2004-12-8 10:56:01
  -- Purpose : GPRS流量统计状态
  -- 统计GPRS流量
  type
  C_Cur is ref cursor;
  function Calcu_GPRSSTREAM return number;
  end PSH_GPRSSTREAMSTAT;
  -----------------------------------------------------------------------------
  create or replace package body PSH_GPRSSTREAMSTAT is
  function Calcu_GPRSSTREAM return number
  is
  c_IPPackHeadLen constant number := 40; -- 定义IP包头长度
  CURSOR c_SPINFO is
  select distinct spid from sh_spinfo where isactive = '0';
  c_MDTINFO C_Cur ;
  v_MDTINFO number;
  v_UpTransContentLens number(20,0); -- 存放当前GPRS终端上传转发的信息内容长度
  v_UpContentLens number(20,0);
  v_UpTotalLens number(20,0); -- 累计GPRS终端上传的信息内容长度
  v_DownContentLens number(20,0);
  v_DownTotalLens number(20,0);
  newID number(20,0);
  begin

  -- 初始化


    select max(statid) into newID from sh_gprsstreamstat;
  if (newID is null) then
  newID := 1;
  end if;
  for v_SPINFO In c_SPINFO loop -- 首先获取SPID

  -- 其次遍历出与当前SPID对应的所有MDT


    open c_MDTINFo for select distinct mdtid from sh_mdtinfo where (isactive = '0') and (spid = v_SPINFO.spid);
  loop
  fetch c_MDTINFO into v_MDTINFO;
  exit when c_MDTINFO%notfound;
  v_UpContentLens := 0;
  v_UpTransContentLens := 0;
  v_UpTotalLens := 0;
  v_DownContentLens := 0;
  v_DownTotalLens := 0;

Tag标签: Oracle存储过程  
  • 专题推荐

About IT165 - 广告服务 - 隐私声明 - 版权申明 - 免责条款 - 网站地图 - 网友投稿 - 联系方式
本站内容来自于互联网,仅供用于网络技术学习,学习中请遵循相关法律法规