本篇文章为大家展示了Oracle中怎么创建存储过程和存储函数,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

为临沭等地区用户提供了全套网页设计制作服务,及临沭网站建设行业解决方案。主营业务为成都网站设计、成都网站建设、临沭网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
select * from emp;
-----------------存储过程------------------------
--定义
   create[or replace] procedure 存储过程名称(参数名 [in]/out 数据类型)
   is/as
   begin
--逻辑表达式
end [存储过程名称];
--定义存储过程计算年薪,并答应输出
  create or replace procedure proc_salyears(v_no in number)
   is
   sal_years number(9,2);
   begin
--计算年薪
select sal*12+nvl(comm,0) into sal_years from emp where empno=v_no;
--输出
dbms_output.put_line(sal_years);
   end;
--调用存储过程
方式1:
call proc_salyears(7788);
方式2:
begin
       proc_salyears(7369);
     end; 
--out参数的存储过程
--计算年薪并返回
  create or replace procedure proc_salyears(v_no in number,sal_years out number)
   is
   begin
--计算年薪
select sal*12+nvl(comm,0) into sal_years from emp where empno=v_no;
   end;
--调用存储过程
declare
   v_sal number(9,2);
  begin
     proc_salyears(7876,v_sal);
     dbms_output.put_line(v_sal);
  end;
-----------------存储函数------------
--定义
create or replace function 存储函数名(参数名 in/out 数据类型)
    return 数据类型
    is|as
    begin
        return 具体的数据;
    end [存储函数名称];
--定义存储函数名计算年薪
create or replace function fun_salyears(f_no number)
    return number
    is
  sal_years number(9,2);
    begin
    select sal*12+nvl(comm,0) into sal_years from emp where empno=f_no;
        return sal_years;
    end ;
--使用存储函数
declare
  sal_yeats number(9,2);
  begin
    sal_yeats := fun_salyears(7876);
    dbms_output.put_line(sal_yeats);
  end;
 
--可简写
begin
    dbms_output.put_line(fun_salyears(7369));
  end;
--------存储过程和存储函数的区别--------
存储过程多用于项目之间的数据共享,存储函数多被存储过程调用.
存储函数可以再sql语句中调用,存储过程不能.
上述内容就是Oracle中怎么创建存储过程和存储函数,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。
本文名称:Oracle中怎么创建存储过程和存储函数
当前路径:http://www.cqwzjz.cn/article/ijopsh.html

 建站
建站
 咨询
咨询 售后
售后
 建站咨询
建站咨询 
 