Oracle带参数的存储过程

阅读更多

一 需求

为指定的员工,涨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,存储过程)