• Oracle_存储过程


    过程一般用于执行一个指定的操作,可以将常用的操作封装成一个过程。一般分为无参数的过程,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-组合传递

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

  • 相关阅读:
    简易自制线程池(备忘)
    大数据量的删除过程查看
    收集书籍备忘
    6月12日C代码
    fseek()
    区分int *p[4]与int (*p)[4]
    常用的字符串处理函数 C语言
    6月11日
    C学习代码
    文件读取 C语言
  • 原文地址:https://www.cnblogs.com/wjn563/p/4075130.html
Copyright © 2020-2023  润新知