欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Oracle带参数的存储过程

程序员文章站 2022-04-23 08:36:45
...

一 需求

为指定的员工,涨100块钱的工资;并且打印涨前和涨后的薪水。
 
二 代码
  1. --带参数存储过程:给指定的员工涨100,并且打印涨前和涨后的薪水
  2. /*
  3. 如何调用:
  4. begin
  5. raisesalay(7839);
  6. raisesalay(7566);
  7. commit;
  8. end;
  9. /
  10. */
  11. create or replace procedure raisesalay(eno in number)
  12. as
  13. --定义一个变量保存涨前的薪水
  14. psal emp.sal%type;
  15. begin
  16. select sal into psal from emp where empno=eno;
  17. update emp set sal=sal+100where empno=eno;
  18. --需不需要commit
  19. --注意:一般不在存储过程或存储函数中提交和回滚,由调用者来进行提交或回滚
  20. dbms_output.put_line('涨前:'||psal||'涨后:'||(psal+100));
  21. end;
  22. /
 
三 调用存储过程
SQL> begin
  2   raisesalay(7839);
  3   raisesalay(7566);
  4   commit;
  5  end;
  6  /
涨前:10000涨后:10100
涨前:6975涨后:7075
 
PL/SQL 过程已成功完成。
相关标签: Oracle 存储过程