用PL/SQL语言编写一程序,实现按部门分段(6000以上、(6000,3000)、3000元以下)统计各工资段的职工人数、以及各部门的工资总额(工资总额中不包括奖金)

  1. 输出到一张表中

  2. 直接输出在屏幕上
    答:
    (1)输出到一张表中
    create table salcount
    (deptno number, --部门号
    sg1 int, --3000以下的人数
    sg2 int, – 3000~6000的人数
    sg3 int, – 6000以上的人数
    sumsal number—工资总额
    );

declare
–定义两个游标保存结果
cursor c1 is select distinct deptno from dept;
cursor c2(pdno number) is select sal
from emp where deptno=pdno;
–定义三个变量用于保存每个部门三个工资段的人数
count1 number;
count2 number;
count3 number;
saltotal number;
–记录c1游标中的部门号
pdeptno dept.deptno% TYPE;
–记录c2游标中的薪水值
psal emp.sal% TYPE;
begin
select sum(sal) into saltotal from emp;
open c1;–打开c1 获得所有部门号
loop
fetch c1 into pdeptno;–取一个部门号
exit when c1%notfound;
–计数器清零
count1 := 0;
count2 := 0;
count3 := 0;
–得到该部门的所有员工
open c2(pdeptno);
loop
fetch c2 into psal; --得到该员工的工资
exit when c2%notfound;
if psal <=3000 then count1 := count1 + 1;
elsif psal > 3000 and psal <=6000 then count2 := count2 + 1;
else count3 := count3 + 1;
end if;
end loop;
close c2;
–保存该部门的统计结果
insert into salcount values(pdeptno,count1,count2,count3, nvl(saltotal,0));
commit;
end loop;
close c1;
end;

(2)直接输出在屏幕上
set serveroutput on
declare
–定义两个游标保存结果
cursor c1 is select distinct deptno from dept;
cursor c2(pdno number) is select sal
from emp where deptno=pdno;
–定义三个变量用于保存每个部门三个工资段的人数
count1 NUMBER;
count2 number;
count3 number;
saltotal number;
–记录c1游标中的部门号
pdeptno dept.deptno% TYPE;
–记录c2游标中的薪水值
psal emp.sal% TYPE;
begin
select sum(sal) into saltotal from emp;
open c1;–打开c1 获得所有部门号
loop
fetch c1 into pdeptno;–取一个部门号
exit when c1%notfound
–计数器清零
count1 := 0;
count2 := 0;
count3 := 0;
–得到该部门的所有员工
open c2(pdeptno);
loop
fetch c2 into psal; --得到该员工的工资
exit when c2%notfound;
if psal <=3000 then count1 := count1 + 1;
elsif psal > 3000 and psal <=6000 then count2 := count2 + 1;
else count3 := count3 + 1;
end if;
end loop;
close c2;
–在屏幕显示
dbms_output.put_line(pdeptno||count1||count2||count3||saltotal);
commit;
end loop
close c1;
end;

用PL/SQL语言编写一程序,实现按部门分段(6000以上、(6000,3000)、3000元以下)统计各工资段的职工人数、以及各部门的工资总额(工资总额中不包括奖金)相关推荐

  1. PL/SQL语言必看书籍推荐

    PL/SQL Developer是一个集成开发环境,专门开发面向Oracle数据库的应用.PL/SQL也是一种程序语言,叫做过程化SQL语言(Procedural Language/SQL).PL/S ...

  2. Oracle PL/SQL语言初级教程(自学)

    Oracle PL/SQL语言初级教程 PL/SQL 语言基础 PL/SQL 是一种高性能的基于事务处理的语言,能运行在任何 ORACLE 环境中,支持所有数据处理命令. 通过使用 PL/SQL 程序 ...

  3. PL/SQL语言基础

    PL/SQL语言基础 /********************************数据类型*************************************/ %rowtype  (行对 ...

  4. Oracle PL/SQL语言入门

    一.背景介绍 结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方 ...

  5. KingbaseES PL/SQL 过程语言参考手册(3. PL/SQL语言基础)

    3. PL/SQL语言基础¶ 本章节阐述PL/SQL语言的基本组成. 字符集 词法单元 声明 对标识符的引用 标识符的作用域和可见性 为变量赋值 表达式 错误报告函数 3.1. 字符集 任何要由PL/ ...

  6. python输入一个正整数n求下列算式的值_C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值。,C语言 编写一个程序,输入一个正整数,求出它是几位数。...

    导航:网站首页 > C语言编写程序:输入一个正整数x和一个正整数n,求下列算式的值.,C语言 编写一个程序,输入一个正整数,求出它是几位数. C语言编写程序:输入一个正整数x和一个正整数n,求下 ...

  7. Oracle PL/SQL语言初级教程

    http://fs3.dajie.com/2010/09/20/034/12849518348824410.pdf PL/SQL语言基础 复合数据类型 单行函数和组函数 表和视图 完整性约束 过程和函 ...

  8. C语言编写一个赋值程序,实验2 用C语言编写简单程序——2.1 基本数据处理.doc

    实验2 用C语言编写简单程序--2.1 基本数据处理 实验2 用C语言编写简单程序 2.1 基本数据处理 [实验目的] (1)掌握算术表达式和赋值表达式的使用. (2)掌握基本输出函数的使用. (3) ...

  9. 编写lisp程序解一元二次方程_用C语言编写一程序求解一元二次方程的根。

    展开全部 C语言编写一程序求解32313133353236313431303231363533e78988e69d8331333365643661一元二次方程的根: #include #include ...

最新文章

  1. ETL MySQL in Oracle ODI 12c
  2. 无线网络嗅探中的Radiotap
  3. SAP Commerce Cloud 的代码仓库
  4. MySQL主从复制故障解决
  5. python千人成像_Python实现千图成像:从图片爬取到图片合成
  6. 芯片设计群 ,欢迎 IC领域朋友请加我微信交流:Jdrobots ,加我备注IC。谢谢! 芯片设计资料
  7. java strlen,跟妹妹聊到 Java 16 新特征,真香!
  8. kinit无密码登录配置
  9. 微信小程序下载API接口调用异常常见解决方法
  10. Python 监控linux之dstat
  11. 使用canvas制作在线涂鸦画板
  12. word excel如何用印章生成器软件在线制作电子印章 电子公章图片
  13. 有线路由器接无线路由器设置方法
  14. 温德姆集团加速麦客达品牌在华扩张;柏悦酒店将进驻长沙;希尔顿惠庭中国首店将在深圳开业 | 美通社头条...
  15. HTML鼠标滚轮事件
  16. Linux 搭建NodeBB社区,搭建CAS登录认证平台,实现Nodebb接入企业CAS认证(二)
  17. 爬虫获取页面信息并存储
  18. 医院门诊透视的生活万花筒
  19. 【AMD、CMD和CommonJS】
  20. android 动画引擎,用 Android 实现一条小金鱼游动动画(超棒)

热门文章

  1. 边缘检测系列4:【RCF】基于更丰富的卷积特征的边缘检测
  2. 2021河南省城市活力大数据报告
  3. 晋中职称计算机考试,晋中市初中级职称评审不必再考外语和计算机
  4. Python接口自动化测试实战系列
  5. Jetson nano和STM32通信
  6. 喊话程序员:Sketch设计作图切图利器,你值得拥有。
  7. Eclipse版本介绍
  8. 水果品质自动分级的机器视觉系统
  9. [附源码]计算机毕业设计springboot志愿者服务平台
  10. 修改或者给无图标的exe文件加新图标