oracle 保存java实例_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语句中调用,存储过程不能.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值