Welcome 微信登录

首页 / 数据库 / MySQL / Oracle有参数带返回值的存储过程简单例子

Oracle有参数带返回值的存储过程简单例子:create or replace procedure caf_trackdiffbyId(
       sendid in number,
       userid in varchar ,
       diffnum in number,
       lats in number,
       latn in number,
       lngw in number,
       lnge in number,
       minid out number ,
       maxid out number
) is
currDate date;
minDate date;
maxDate date;
subMin number;Cursor baseMinCursor is select * from caf_usertrack where datetime<currDate order by id desc ;
Cursor baseMaxCursor is select * from caf_usertrack where datetime>currDate order by id asc ;begin
  select datetime into currDate from  caf_usertrack where id=sendid and userid=userid and
 lat >= lats and lat <= latn and lng >= lngw and lng <= lnge ;
  begin
      if currDate is not null then
          begin
             minDate := currDate;
             maxDate := currDate;
          end;
      end if;
          
      for sysd in baseMinCursor loop      --取得最小的ID值
        begin       
           subMin := round(to_number(minDate-sysd.datetime)*24*60,2);
           if subMin <= diffnum then
               begin
                  minDate := sysd.datetime;
               end;
            else
               begin
                  minid := sysd.id;
                  dbms_output.put_line("min"||minid);
                  exit;
               end;             
           end if;      
        end;
      end loop;
     
     for sysd in baseMaxCursor loop      --取得最大的ID值
        begin       
           subMin := round(to_number(sysd.datetime-maxDate)*24*60,2);
           if subMin <= diffnum then
               begin
                  maxDate := sysd.datetime;
               end;
            else
               begin
                  maxid := sysd.id;
                  dbms_output.put_line("maxid"||maxid);
                  exit;
               end;             
           end if;      
        end;
      end loop;        
  end;
 
end caf_trackdiffbyId; Golden Gate安装说明Oracle 存在则更新不存在则插入-方案相关资讯      Oracle基础教程 
  • Oracle块编程返回结果集详解  (11/10/2013 10:45:58)
  • Oracle基础教程之设置系统全局区  (08/22/2013 14:24:00)
  • Oracle基础教程知识点总结  (06/18/2013 07:43:32)
  • Oracle基础教程之tkprof程序详解  (10/22/2013 11:49:50)
  • Oracle基础教程之sqlplus汉字乱码  (07/18/2013 16:30:00)
  • Oracle 管理之 Linux 网络基础  (02/16/2013 18:37:35)
本文评论 查看全部评论 (0)
表情: 姓名: 字数