源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Oracle存储过程和存储函数创建方法(详解)

  • 时间:2022-01-17 02:10 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Oracle存储过程和存储函数创建方法(详解)
select * from emp; [b]-----------------存储过程------------------------[/b] [b]--定义[/b]    create[or replace] procedure 存储过程名称(参数名 [in]/out 数据类型)    is/as    begin [b]--逻辑表达式 [/b] end [存储过程名称]; [b]--定义存储过程计算年薪,并答应输出[/b]   create or replace procedure proc_salyears(v_no in number)    is    sal_years number(9,2);    begin  [b]--计算年薪[/b] select sal*12+nvl(comm,0) into sal_years from emp where empno=v_no; [b]--输出[/b] dbms_output.put_line(sal_years);    end; [b]--调用存储过程[/b] [b] 方式1:[/b] call proc_salyears(7788); [b]方式2:[/b] begin        proc_salyears(7369);      end;  [b]--out参数的存储过程[/b] [b]--计算年薪并返回   [/b]   create or replace procedure proc_salyears(v_no in number,sal_years out number)    is    begin  [b]--计算年薪[/b] select sal*12+nvl(comm,0) into sal_years from emp where empno=v_no;    end; [b]--调用存储过程[/b] declare    v_sal number(9,2);   begin      proc_salyears(7876,v_sal);      dbms_output.put_line(v_sal);   end; [b]-----------------存储函数------------[/b] [b]--定义[/b] 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; [b]--------存储过程和存储函数的区别--------[/b] 存储过程多用于项目之间的数据共享,存储函数多被存储过程调用. 存储函数可以再sql语句中调用,存储过程不能.
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部