首页 > 数据库技术 > 详细

Oracle_存储过程

时间:2014-11-05 00:20:42      阅读:261      评论:0      收藏:0      [点我收藏+]

过程一般用于执行一个指定的操作,可以将常用的操作封装成一个过程。一般分为无参数的过程,in 参数的存储过程,out的存储过程, inout 存储过程

1—创建in参数的存储过程,

create or replace  procedure pro_query_emp
(v_no in emp.empno%type)--在这个定义的时候标明 in
as
v_sal emp.empno%type;
begin
select sal into v_sal from emp where empno=v_no;
dbms_output.put_line(薪水为:||v_sal);
exception 
when no_data_fount then
dbms_output.put_line(该员工不存在!);
end;

2—创建out参数的过程

create or relpace procedure pro_querysal_emp
(param_empno number,param_sal out varchar2)--定义out参数保存雇员薪水
as
begin
select sal into param_sal from emp where empno=param_empno;
exception
when no_data_found then
dbms_output.put_line(该员工不存在!);
end;

--调用out参数的过程
declare
v_empno EMP.empno%type;--定义变量存储员工的编号
v_sal emp.sal%type;--定义变量存储返回值
begin
v_empno:=&no;
pro_querysal_emp(v_empno,v_sal);
dbms_output.put_line(‘薪水是:‘||v_sal);
end;

3—创建 in out参数过程

 create or  replace procedure proc_testinout

(param_num in out number)

as 

begin

param_number:=param_num*2;

end;

*过程的参数

1-按位置传递

按位置传递是指在掉用的时候按参数的排列顺序依次写出实参的名称。

2-按名称传递

关联符号“=>” exec proc_sum(num1=>1,num2=>2,num3=>3);

3-组合传递

前面的实参必须使用按位置传递的方法,后面的则可以使用按名称传递的方法。

Oracle_存储过程

原文:http://www.cnblogs.com/wjn563/p/4075130.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!