注:使用的是Oracle的实例数据库中的scott用户

定义一个存储过程,以员工工号为参数,修改该员工的工资,若该员工属于10部门,则工资增加150

若属于20号部门,工资加200,若属于30部门,工资加250

若其它部门,则加300

方法一:

create or replace procedure emppro(
     e_empno emp.empno%type
)
as
    e_deptno emp.deptno%type;
    e_sal emp.sal%type;
begin
    select sal,deptno into e_sal,e_deptno from emp where empno = e_empno;
    if e_deptno = 10 then
         e_sal := e_sal + 150;
    elsif e_deptno = 20 then
         e_sal := e_sal + 200;
    elsif e_deptno = 30 then
         e_sal := e_sal + 250;
    else
         e_sal := e_sal + 300;
    end if;
    update emp set sal = e_sal where empno =  e_empno;
end;

调用存储过程:
declare
    v_empno emp.empno%type;
begin
    v_empno := &员工编号;
    emppro(v_empno);
    dbms_output.put_line('修改成功');
end;

方法二:

create or replace
procedure AddSalary(
    p_empno IN emp.empno%type
) AS
  p_deptno emp.deptno% TYPE;
BEGIN
    SELECT deptno into p_deptno  from emp where empno=p_empno;
    if p_deptno=10 then 
   UPDATE emp set sal= sal+150 where empno= p_empno;
 elsif p_deptno=20 then
   UPDATE emp set sal= sal+200 where empno= p_empno;
 elsif p_deptno=30 then
   UPDATE emp set sal= sal+250 where empno= p_empno;
    else
 UPDATE emp set sal= sal+300 where empno= p_empno;
    end if;
END;

共享学习,若对你有帮助,点个赞吧!

定义一个存储过程,以员工工号为参数,修改该员工的工资,若该员工属于10部门,则工资增加150 若属于20号部门,工资加200,若属于30部门,工资加250 若其它部门,则加300相关推荐

  1. 设计一个Windows应用程序,要求如下: 构造一个产品基类。 分别定义家电、日用百货、衣服等派生类,具体要求有不同的特征和行为。 定义一个泛型货架类,约束参数类型为产品

    设计一个Windows应用程序,要求如下: 构造一个产品基类. 分别定义家电.日用百货.衣服等派生类,具体要求有不同的特征和行为. 定义一个泛型货架类,约束参数类型为产品类.该泛型的货架类包括一个泛型 ...

  2. C#设计一个Windows应用程序,要求如下。 ①构造一个产品基类。 ②分别定义家电、日用百货、衣服等派生类,要求具有不同的特征和行为。 ③定义一个泛型货架类,约束参数类型为产品类。该泛型的货架类包

    设计一个Windows应用程序,要求如下. 1.构造一个产品基类. 2.分别定义家电.日用百货.衣服等派生类,要求具有不同的特征和行为. 3.定义一个泛型货架类,约束参数类型为产品类.该泛型的货架类包 ...

  3. 定义一个时钟类(TimeDemo),属性有:时、分、秒(默认值10时30分),方法有展示当前时间、过1秒,过1分钟,过1小时后的时分秒;在测试类中实现过10秒,过10分,过10小时后的时间展示

    题目: 定义一个时钟类(TimeDemo),属性有:时.分.秒(默认值10时30分),方法有展示当前时间.过1秒,过1分钟,过1小时后的时分秒:定义成员方法分别对时.分.秒进行加减运算,保证运算后时间 ...

  4. python中定义一个类、实例化时传入的参数如何传递_用实例分析Python中method的参数传递过程...

    什么是method? function就是可以通过名字可以调用的一段代码,我们可以传参数进去,得到返回值.所有的参数都是明确的传递过去的. method是function与对象的结合.我们调用一个方法 ...

  5. c定义一个整型数组_滨州学院C语言作业讲解有序数组插入

    点击蓝字 关注我们 + 滨州学院C语言作业详解 [问题描述]一个长度为11的整型数组中存放有10个从小到大排好序的整数:1 3 5 10 23 100 180 200 350 500.输入一个x,把它 ...

  6. 使用面向对象思想,输出员工信息并计算员工的工资。定义一个部门(Department)类,该类有部门编号(Id)、部门名称(Name)属性;再定义一个员工(Employee)类,该类的属性有员工编号

    运行结果如下: 题目: 使用面向对象思想,输出员工信息并计算员工的工资. 实现过程为:a.定义一个部门(Department)类,该类有部门编号(Id).部门名称(Name)属性:b.再定义一个员工( ...

  7. 编写一个 SQL 查询,找出每个部门工资最高的员工。

    Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id.+----+-------+--------+--------------+ | Id ...

  8. 用python写:完成一个员工管理系统 要求存储员工的工号、姓名、年龄、性别、工资 1、员工录入 2、查询员工信息 3、修改员工信息 4、删除 5、根据工号查看 6、退出

    完成一个员工管理系统    要求存储员工的工号.姓名.年龄.性别.工资    1.员工录入    2.查询员工信息    3.修改员工信息    4.删除    5.根据工号查看    6.退出 Em ...

  9. 2、采用结构体数组编写程序,定义一个含职工姓名、工作年限、工资总额的结构体类型,从键盘输入5名职工的信息,最后再对工作年限超30年的职工加1000元工资,并输出工资变化后的所有职工的信息

    2.采用结构体数组编写程序,定义一个含职工姓名.工作年限.工资总额的结构体类型,从键盘输入5名职工的信息,最后再对工作年限超过30年的职工加1000元工资,并输出工资变化后的所有职工的信息(要求用下标 ...

最新文章

  1. 运行返回签名不正确_不正确运行废气治理RTO设备容易引起爆炸,注意事项有哪些?...
  2. LeCun亲授的深度学习入门课:从飞行器的发明到卷积神经网络
  3. django ForeignKey的使用
  4. 转:WebApi(一)
  5. RSS接触 - 实战RSS文档输出
  6. 21、Java并发性和多线程-Java中的锁
  7. iPhoneUI元素的大小
  8. Spring Data JPA 条件查询的关键字
  9. windows 端微信多开
  10. 最详细的Faster RCNN论文笔记
  11. python2.7+pyqt4安装
  12. 遭DeFi反噬,以太坊绝地反击
  13. JAVA习题001--产生多个随机数并使用冒泡排序将数字从小到大排序
  14. 2021爱智先行者—精灵1号的体验分享
  15. Learn OpenGL 笔记7.3 PBR-IBL-Diffuse irradiance(Image based lighting-漫反射辐照度)
  16. 学习java第四天,自己做的尚硅谷项目三开发人员调度系统,代码很丑陋,等后面有时间再优化一下。
  17. 京东笔试——神奇数 【题目描述】东东在一本古籍上看到有一种神奇数,如果能够将一个数的数字分成两组,其中一组数字的和 等于另一组数字的和,我们就将这个数称为神奇数。例如 242 就是一个神奇数,我们能够
  18. 安装snipe-IT遇到的php问题
  19. 如何合法学习黑客技术?这9个项目可以帮到你!
  20. 盘点个人信息保护方面的那些认证

热门文章

  1. 全面整理的C++面试题
  2. 【数学】Knuth洗牌算法及其证明
  3. 论文中数学公式说明合集
  4. 2021朝花夕拾-我在校搞副业实现经济独立
  5. 神经网络发展史详解pdf,神经网络发展史详解图
  6. Windows 平台下打包 bzip2 和 gzip 格式压缩包
  7. CRMEB二次开发新增用户评论关键词过滤、后台审核通过后前端才显示评论信息
  8. linux如何离线安装rdesktop,rdesktop 的安装使用
  9. 计算机中两个数相乘用什么函数,2. 在Excel中将多个单元格相乘的乘法公式
  10. tapora true