oracle创建一个带参数的存储过程:为指定的员工,涨100块钱的工资;并且打印涨前和涨后的薪水

本文介绍如何在Oracle数据库中创建一个带有输入参数的存储过程,用于实现特定员工工资上调100元的功能,并展示调整前后的薪资情况。过程中涉及变量定义、SQL查询与更新操作及输出结果。

--创建一个带参数的存储过程  
  1. --创建一个带参数的存储过程  
  2.   
  3. --为指定的员工,涨100块钱的工资;并且打印涨前和涨后的薪水  
  4. /*  
  5.   begin  
  6.       raisesalary(6755);  
  7.     raisesalary(4456);  
  8.       commit();//这里提交,所以说我们一般不会在存储过程或者存储函数中写提交,  
  9.   end;  
  10.   /  
  11. */  
  12. --host cls  
  13. --先创建表emp和插入数据,显示表的结构用desc 表名  
  14. --create table emp  
  15.   
  16.   
  17. create or replace procedure raisesalary(eno in number)--需要指明是输入参数(in)还是输出参数  
  18. as  
  19. --定义一个变量保存涨前的薪水  
  20.    psal emp.sal%type; --变量psal的类型和emp表的sal字段的类型一样  
  21.    --psal number(10);  
  22.   begin  
  23.     --得到员工涨前的薪水  
  24.     select sal into psal from emp where empno=eno;  
  25.       
  26.     --给该员工涨100  
  27.     update emp set sal = (sal+100) where empno=eno;  
  28.       
  29.     --需不需要提交commit或者回滚rollback?  
  30.     --注意:一般不在存储过程或者存储函数中,commit和rollback  
  31.     --因为不能保证外面的调用者是同一个事物中,那么谁调用我就谁来提交或者回滚  
  32.       
  33.     --打印  
  34.     dbms_output.put_line('涨前:'||psal||' 涨后:'||(sal));--sal  
  35.        
  36.   end;  
  37.  --在dos窗口下sqlplus / as sysdba  这是不用密码的采用主机认证的方式连接oracle数据库  
  38.    
  39.  --授予scott用户权限方式:grant DEBUG CONNECT SESSION,DEBUG ANY PROCEDURE to scott;  


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值