oracle 存储过程使用心得

时间:2022-04-01 16:37:32

第一、存储过程通用结构

---1)定义存储名称、传入参数、传出参数

create or replace procedure proc_function(in_opt in varchar2 ,out_opt in varchar2,outValue out sys_refcursor)

as

--2)定义变量参数

  v_opt1 varchar2(50);
  v_count       number;

begin

--3)存储过程具体做的事

--4)输出游标(可选)

open outValue for  select   funname,funid from tbl_base_function;

end;

第二、重点知识

--1) in参数长度由外部提供的参数长度决定,out参数长度由存储过程内部赋值长度决定。

--2)begin end 语句块内可以嵌套多个语句块。此时注意参数的作用域问题。

--3)存储过程内部经常需要进行逐行处理数据,这个过程就需要对游标进行循环。游标的使用很关键。

--4)select  into 赋值时候,可能值找到数据或者行数太多的异常。这时候,可以使用游标或者提供异常处理的代码规避。

--5)如果返回值是结果集,可以选择游标方式、事务级临时表等方法来处理。

--6)程序如何调用存储过程:开发代码里?job定时任务里?

--7)存储过程不仅要编译通过,还要测试通过。