首页 > 代码库 > Oracle_存储过程
Oracle_存储过程
过程一般用于执行一个指定的操作,可以将常用的操作封装成一个过程。一般分为无参数的过程,in 参数的存储过程,out的存储过程, inout 存储过程
1—创建in参数的存储过程,
create or replace procedure pro_query_emp(v_no in emp.empno%type)--在这个定义的时候标明 inasv_sal emp.empno%type;beginselect sal into v_sal from emp where empno=v_no;dbms_output.put_line(‘薪水为:‘||v_sal);exception when no_data_fount thendbms_output.put_line(‘该员工不存在!‘);end;
2—创建out参数的过程
create or relpace procedure pro_querysal_emp(param_empno number,param_sal out varchar2)--定义out参数保存雇员薪水asbeginselect sal into param_sal from emp where empno=param_empno;exceptionwhen no_data_found thendbms_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 beginparam_number:=param_num*2;end;
*过程的参数
1-按位置传递
按位置传递是指在掉用的时候按参数的排列顺序依次写出实参的名称。
2-按名称传递
关联符号“=>” exec proc_sum(num1=>1,num2=>2,num3=>3);
3-组合传递
前面的实参必须使用按位置传递的方法,后面的则可以使用按名称传递的方法。
Oracle_存储过程
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。