1、退出存储过程

return

  if old_save_time = new_save_time then--没有最新数据,退出
    insert into hy_data_handle_mark(id,save_time,mark_start,mark_finish) values(seq_hy_data_handle_mark.nextval,new_save_time,sysdate,sysdate);
    commit;
    return;
  end if;

2、退出循环

exit

  begin
    open c_id;
    LOOP
      FETCH c_id INTO v_id;
      EXIT WHEN c_id%NOTFOUND;
      insert into tmp_cursor(id) values(v_id);
    END LOOP;
    CLOSE c_id;
  end;

3、退出当前循环

continue

LOOP
if min_time is null then continue;end if;--指定时间段内已处理
END LOOP

4、返回多个值

返回一个值用函数,超出一个,一般用存储过程

create or replace procedure PRO_OFFSET_TIME(v_station_code in nmemc.hy_station.station_code%TYPE,
v_min_time date,
v_max_time date,
min_offset out number,
max_offset out number)
is
begin
  ……
  if min_offset is null then
    min_offset:= 30/1440;--30分钟
  end if;

  if max_offset is null then
    max_offset:= 240/1440;--4小时
  end if;

end PRO_OFFSET_TIME;
/

调用:

reate or replace procedure pro_hy_data_handle_record
as
……
  min_offset number:= 30/1440;--30分钟
  max_offset number:= 240/1440;--4小时
begin
……
pro_offset_time(v_station_code,k_min_time,k_max_time,min_offset,max_offset);
end;
--然后就可以直接使用min_offset,max_offset了

oracle 存储过程心得2的更多相关文章

  1. [oracle] Oracle存储过程里操作BLOB的字节数据的办法,例如写入32位整数

    作者: zyl910 一.缘由 BLOB是指二进制大对象,也就是英文Binary Large Object的缩写. 在很多时候,我们是通过其他编程语言(如Java)访问BLOB的字节数据,进行字节级的 ...

  2. oracle 存储过程

    来自:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 I ...

  3. Oracle存储过程语法

    原文链接:http://www.jb51.net/article/31805.htm Oracle存储过程基本语法 存储过程  1 CREATE OR REPLACE PROCEDURE 存储过程名  ...

  4. ORACLE存储过程调用Web Service

    1. 概述 最近在ESB项目中,客户在各个系统之间的服务调用大多都是在oracle存储过程中进行的,本文就oracle存储过程调用web service来进行说明.其他主流数据库,比如mysql和sq ...

  5. Oracle存储过程基本语法介绍

    Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...

  6. MyBatis调用Oracle存储过程

    MyBatis调用Oracle存储过程 1.无输入和输出参数的存储过程 2.带有输入和输出参数的存储过程 3.返回游标的存储过程 mybatis中的配置文件代码 <resultMap type= ...

  7. Oracle存储过程(转)

    Oracle存储过程基本语法 存储过程 1 CREATE OR REPLACE PROCEDURE 存储过程名 2 IS 3 BEGIN 4 NULL; 5 END; 行1: CREATE OR RE ...

  8. Oracle存储过程中异常Exception的捕捉和处理

    Oracle存储过程中异常的捕捉和处理 CREATE OR REPLACE Procedure Proc_error_process ( v_IN in Varchar2, v_OUT Out Var ...

  9. Oracle存储过程动态创建临时表/存储过程执行权限问题--AUTHID CURRENT_USER

    关于Oracle存储过程执行权限问题的解决 http://blog.sina.com.cn/s/blog_6ceed3280101hvlo.html (2014-04-02 04:06:28) 转载▼ ...

随机推荐

  1. Delphi 正则表达式起步

    Delphi 正则表达式起步 在 Delphi 中使用正则表达式, 目前 PerlRegEx 应该是首选, 准备彻底而细致地研究它. 官方网站: http://www.regular-expressi ...

  2. [笔记]使用Go语言Redigo包在Docker容器内连接Redis容器的方法

    Docker容器之间的连接可以带来不少方便,下面记录下如何在自己容器内通过环境变量连接与之连接的Redis容器的方法. 先起一个Redis的Docker容器,命名为 redis,再起一个自己的Dock ...

  3. LeetCode:验证二叉搜索树【98】

    LeetCode:验证二叉搜索树[98] 题目描述 给定一个二叉树,判断其是否是一个有效的二叉搜索树. 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数. 节点的右子树只包含大于当 ...

  4. HDOJ_1087_Super Jumping! Jumping! Jumping! 【DP】

    HDOJ_1087_Super Jumping! Jumping! Jumping! [DP] Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...

  5. LeetCode: Max Consecutive Ones

    这题最关键的是处理最开始连续1和最后连续1的方式,想到list一般在最前面加个node的处理方式,在最前面和最后面加0即可以很好地处理了 public class Solution { public ...

  6. js刷新页面 location.reload()

    在javascript编程中,多使用location.reload实现页面刷新. 例子: 代码示例: window.location.href=window.location.href; window ...

  7. undefined symbol: PyUnicodeUCS4_AsUTF8String

    python 默认是ucs2编码进行编译,重新编译使用ucs4. python:     ./configure --enable-unicode=ucs4        make && ...

  8. Linux网络IO函数以及TCP连接函数包装

    标准I/O VS 网络IO 标准I/O又称为标准I/O流,从某种意义上讲是全双工的,因为程序能够在同一个流上执行输入和输出. Unix/Linux对网络的抽象是一种称为套接字的文件类型.和任何Unix ...

  9. java如何调用接口

    其实对于java调用接口进行获取对方服务器的数据在开发中特别常见,然而一些常用的基础的知识总是掌握不牢,让人容易忘记,写下来闲的时候看看,比回想总会好一些. 总体而言,一些东西知识点一直复制粘贴容易依 ...

  10. Docker基于容器创建镜像

    docker commit -m "提交信息" -a "作者信息" imgId imgName