一 需求

给员工职位涨工资,总裁涨1000,经理涨800,其他员工涨400
二 设计(伪代码)
ResultSet rs = "select  empno,job from emp";
while(re.next())
{
int eno =rs.getInt("empno");
String job = rs.getString("job");
if(“PERSIDENT”.equals ( job))
{
update emp set sal = sal +1000 where empno = eno;
}
else if(“MANAGER”.equals ( job))
{
update emp set sal = sal +800 where empno = eno;
}

else
{
update emp set sal = sal +400 where empno = eno;
}
}
三 涨工资前数据
  1. SQL>select*from emp;
  2. EMPNO ENAME EMPJOB MGR HIREDATE SAL COMM DEPTNO
  3. -----------------------------------------------------------------------------------
  4. 7369 SMITH CLERK 790217-12月-80240020
  5. 7499 ALLEN SALESMAN 769820-2月-81320030030
  6. 7521 WARD SALESMAN 769822-2月-81285050030
  7. 7566 JONES MANAGER 783902-4月-81617520
  8. 7654 MARTIN SALESMAN 769828-9月-812850140030
  9. 7698 BLAKE MANAGER 783901-5月-81605030
  10. 7782 CLARK MANAGER 783909-6月-81565010
  11. 7788 SCOTT ANALYST 756619-4月-87460020
  12. 7839 KING PRESIDENT 17-11月-81900010
  13. 7844 TURNER SALESMAN 769808-9月-813100030
  14. 7876 ADAMS CLERK 778823-5月-87270020
  15. EMPNO ENAME EMPJOB MGR HIREDATE SAL COMM DEPTNO
  16. -----------------------------------------------------------------------------------
  17. 7900 JAMES CLERK 769803-12月-81255030
  18. 7902 FORD ANALYST 756603-12月-81460020
  19. 7934 MILLER CLERK 778223-1月-82290010
  20. 已选择14行。
四 代码
  1. --给员工职位涨工资
  2. set serveroutput on
  3. declare
  4. --定义一个光标代表给哪些员工涨工资
  5. cursor cemp isselect empno,empjob from emp;
  6. --为光标定义对应的变量
  7. pempno emp.empno%type;
  8. pjob emp.empjob%type;
  9. begin
  10. --打开光标
  11. open cemp;
  12. loop
  13. --取一个员工
  14. fetch cemp into pempno,pjob;
  15. exitwhen cemp%notfound;
  16. --判断员工职位
  17. if pjob ='PRESIDENT'then update emp set sal =sal +1000where empno = pempno;
  18. elsif pjob ='MANAGER'then update emp set sal =sal +800where empno = pempno;
  19. else update emp set sal =sal +400where empno = pempno;
  20. endif;
  21. end loop;
  22. --关闭光标
  23. close cemp;
  24. --对于oracle,默认的事务隔离级别是read committed
  25. --事务ACID
  26. commit;
  27. dbms_output.put_line('涨工资完成');
  28. end;
  29. /
五 涨工资后数据
  1. SQL>select*from emp;
  2. EMPNO ENAME EMPJOB MGR HIREDATE SAL COMM DEPTNO
  3. -----------------------------------------------------------------------------------
  4. 7369 SMITH CLERK 790217-12月-80280020
  5. 7499 ALLEN SALESMAN 769820-2月-81360030030
  6. 7521 WARD SALESMAN 769822-2月-81325050030
  7. 7566 JONES MANAGER 783902-4月-81697520
  8. 7654 MARTIN SALESMAN 769828-9月-813250140030
  9. 7698 BLAKE MANAGER 783901-5月-81685030
  10. 7782 CLARK MANAGER 783909-6月-81645010
  11. 7788 SCOTT ANALYST 756619-4月-87500020
  12. 7839 KING PRESIDENT 17-11月-811000010
  13. 7844 TURNER SALESMAN 769808-9月-813500030
  14. 7876 ADAMS CLERK 778823-5月-87310020
  15. EMPNO ENAME EMPJOB MGR HIREDATE SAL COMM DEPTNO
  16. -----------------------------------------------------------------------------------
  17. 7900 JAMES CLERK 769803-12月-81295030
  18. 7902 FORD ANALYST 756603-12月-81500020
  19. 7934 MILLER CLERK 778223-1月-82330010
  20. 已选择14行。

光标实现为员工涨工资相关推荐

  1. PLSQL写给员工涨工资,总裁涨1000,经理涨800,其他员工涨400

    /* 给员工涨工资,总裁涨1000,经理涨800,其他员工涨400 select empno,job from emp; update emp set sal= sal + 1000; 判断: if ...

  2. hive根据职位给员工涨工资_华为28岁员工工资表曝光:厉害的HR,都有这些特质!...

    最近微信调整了发布规则,很多小伙伴发现有时上午的内容要到晚上才能看到哦.如果不想错过或漏掉我们的重要内容,请点击本文末尾的"在看",或者点击右上角"-"界面设置 ...

  3. 分析以下需求,并用代码实现: 根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入

    import java.util.Scanner;     public class Test {     public static void main(String[] args) {       ...

  4. 为10号部门的员工涨工资

    declare    cursor c1(dno number) is select empno from emp where detpno=dno;    pempno emp.empno%type ...

  5. 根据工龄(整数)给员工涨工资(整数),工龄和基本工资通过键盘录入

  6. 为员工长工资。从最低工资调起每人长10%,请计算长工资的人数和长工资后的工资总额,并输出输出长工资人数及工资总额。

    /* 为员工长工资.从最低工资调起每人长10%,但工资总额不能超过50万元, 请计算长工资的人数和长工资后的工资总额,并输出输出长工资人数及工资总额. 可能的sql: select empno,sal ...

  7. oracle中涨工资,oracle涨工资问题

    --综合案例之瀑布模型 --统计每年入职员工人数 /*select to_char(hiredate,'yyyy')from emp; -->光标-->循环-->退出条件:notfo ...

  8. 为员工长工资 从最低工资调起每人长10% 请计算长工资的人数和长工资后的工资总额,并输出输出长工资人数及工资总额

    首先给大家分享一个巨牛巨牛的人工智能教程,是我无意中发现的.教程不仅零基础,通俗易懂,而且非常风趣幽默,还时不时有内涵段子,像看小说一样,哈哈-我正在学习中,觉得太牛了,所以分享给大家!点这里可以跳转 ...

  9. 腾讯员工又双叒叕涨工资了,平均月薪已达7.4万

    日前,腾讯控股发布了截至2019年9月30日的第三季度未经审计财报,财报显示,腾讯第三季度总营收972.36亿元(137.48亿美元 ),同比增长21%:期内盈利209.76亿元,同比下滑10%,本公 ...

最新文章

  1. 第五篇:HMM 隐马尔可夫模型
  2. MySQL SQL模式(Mode)
  3. 关于Apache Commons-Lang3的使用
  4. unity 物体倾斜角度代码
  5. 20 ubuntu 中科大源_Linux-Ubuntu简单配置-换国内源-中文显示
  6. 人工智能应用实战系列-如何在新闻推荐中使用迁移学习
  7. SAP用户权限控制大解析及权限进阶分析
  8. 百度安全 TrustZone SDK 正式成为 OP-TEE 官方推荐 Rust 开发环境
  9. 面向对象程序设计课程进度条
  10. java oss 批量传输_阿里云OSS对象存储,服务端签名后直传阿里云OSS
  11. Python学习笔记__5章 模块
  12. Faster R-CNN的安装及测试(Python版本和Matlab版本)
  13. StringBuilder内存碎片对性能的影响
  14. 120 - 算法 - 枚举 周期性跳转 openjudge:4148生理周期
  15. ArcGIS制图表达Representation实战篇4-自由式制图表达
  16. 深度学习笔记--激活函数:sigmoid,maxout
  17. 庖丁解牛之spring源码系列二 spring bean生命周期介绍
  18. 照片打印软件 mac_如何在Mac上轻松打印照片
  19. 神一样的产品经理——基于移动与互联网产品实践
  20. 少年三国志服务器关闭注册,少年三国志2服务器关闭注册 怎么登陆到老区

热门文章

  1. 手办潮玩一翻赏小程序应该怎么做
  2. 计算机大三如何找一份“好”实习呢?
  3. 如何优雅地使用Mac
  4. 认识网络营销的三部曲
  5. 基于HTML5之APP微信支付集成实现
  6. 完美VS2010黑色主题最舒服的护眼主题(包含所需插件)
  7. 做一个从不废话的程序员之基础中的基础
  8. Poetize4 玉蟾宫
  9. 操作系统-进程调度(FCFS和SJF)
  10. 最好用的BT下载工具Qbittorrent ~群晖DSM7.0 Docker如何安装QB