二、存储过程

--===================================存储过程(过程)
/*
举例:在网站上买东西,提交订单后,
        库存量减少(update),账户的信息也会发生减少(update),
        生成订单(insert),备份数据(insert),记录日志(insert)
使用java代码在业务逻辑中处理这些操作(调用dao操作数据库)


以上这一系列操作都可以使用存储过程来实现


存储过程:封装了一系列了sql语句,事先编译好,存储在数据库端,供其他程序员调用
好处:效率高


--创建存储过程的语法
create or replace procedure 过程名称(参数1 in\out,参数2 in|out)
as|is
       --在存储过程中定义变量
begin
       --封装多条sql语句
end;
*/
--给某个员工涨工资,打印出涨前涨后的工资
create or replace procedure pro_add_sal(eno in number,money in number)
as
   oldsal number;
   newsal number;
begin
   --查询出来打印涨前的工资
   select sal into oldsal from emp where empno=eno;
   dbms_output.put_line('涨前工资:'||oldsal);
   --加工资
   update emp set sal = sal+money where empno = eno;
   commit;
   --查询涨之后的工资
   select sal into newsal from emp where empno=eno;
   dbms_output.put_line('涨后工资:'||newsal);
end;






--调用测试
--第一种方式: 用的比较少,如果输出参数,接收不了
call pro_add_sal(7788,100);




--第二种方式:【推荐】
declare


begin
   --调用存储过程
   pro_add_sal(7788,200);
end;




select * from emp where empno = 7788;
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值