实例3:按部门统计工资人数

/*
实例3:按部门统计工资人数
可能的sql
select deptno from dept; 查出所有的部门号 光标1
select sal from emp where deptno= 光标1中的值
*/

set serveroutput on
declare
  --定义部门光标
  cursor dcorsor is select deptno from dept;
  pdno dept.deptno% TYPE;--保存部门号
  --定义某部门下的员工光标
  cursor cemp(dno number) is select sal from emp where deptno = dno;
  psal emp.sal% TYPE;--保存员工薪水
  --计数器
  count1 number;--6000
  count2 number;--3000~6000
  count3 number;--<3000
  psalTotal number;--工资总额
begin
  --获取部门号
  open dcorsor;
  loop
    --取部门
    fetch dcorsor into pdno;
    exit when dcorsor%notfound;
    --初始化
    count1 := 0;count2 := 0;count3 := 0;psalTotal :=0;
    --select sum(sal) into psalTotal from emp where empno=pdno;
    --取该部门中的员工
    open cemp(pdno);
      loop
        --取一个员工
        fetch cemp into psal;
        exit when cemp%notfound;
       
        --判断
        if psal <= 3000 then count3 := count3 + 1;
        ELSIF  psal >3000 and psal <= 6000 then count2 := count2 + 1;
        else  count1 := count1+ 1;
        end if;
        --工资总额
        psalTotal := psalTotal + psal;
      end loop;
    close cemp;--完成一个部门
   
    --保存结果
    insert into msg1 values(pdno, count3,count2,count1, psaltotal);
    commit;
   
  end loop;
  close dcorsor;
 
  dbms_output.put_line('完成');
end;
/
 
 
 
 
 
 
 
 
 
 
 
 
 

时间: 2024-09-13 07:35:15

实例3:按部门统计工资人数的相关文章

CI(CodeIgniter)简单统计访问人数实现方法[原创]_php实例

本文实例讲述了CI(CodeIgniter)简单统计访问人数实现方法.分享给大家供大家参考,具体如下: 废话不说,先上代码: 控制器文件: /application/controllers/hello.php 如下: <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Hello extends CI_Controller { public function index() { echo

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

/* 为员工长工资.从最低工资调起每人长10%,但工资总额不能超过50万元, 请计算长工资的人数和长工资后的工资总额,并输出输出长工资人数及工资总额. 可能的sql: select empno,sal from emp   order by sal ; select sum(sal) into s_sal  from emp; update */ set serveroutput on declare  --定义一个光标代表所有的员工  cursor c1 is select empno,sal

sql语句-sql中怎么写视图,统计科室人数

问题描述 sql中怎么写视图,统计科室人数 具体是这样的, ?1.门诊科室列表视图 科室代码(ksdm),科室名称(ksmc),科室类别(kslb)科室人数(ksrs) 科室代码,科室名称,科室类别在表ms_ghks里面有,可以直接取,科室人数的话要自己统计,其中在ms_ysks里面有科室代码(ksdm)和医生代码(ysdm),就是要统计下各个科室医生的数量 请问这个视图怎么写啊 2.科室内医生信息视图 一个科室内可以有多个医生,根据ksdm去查询该表 科室代码(ksdm),医生代码(ysdm)

更新SQL Server实例所有数据库表统计信息

引出问题 自从上次菜鸟为老鸟解决了<RDS SQL SERVER 解决中文乱码问题>问题,老鸟意犹未尽,决定再想个招来刁难刁难菜鸟:"我最近做T-SQL性能调优的时候,经常发现执行计划中的统计信息不准确,导致SQL Server查询性能低下,想个办法帮我一次性更新实例所有数据库下所有表统计信息吧?" 分析问题 "要一次性更新实例级别所有数据库下所有表统计信息啊,这个还真的有点犯难",菜鸟一边小声嘀咕,一边不停的问G哥,终于功夫不负有心人,发现了两个非常有

session统计站点人数出错

问题描述 我先描述下错误,首先代码本身不报错.可是执行出来的结果是错的.而且我用一个文件来记录访问站点的人数,可是这个文件创建不了.代码如下:请各位高手指点迷津,谢谢大家了!<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@pageimport="java.io.*"%><!DOC

ibatis,统计注册人数功能怎么实现

问题描述 数据库表tb_reg_statistics,字段id,user_id,website_id,reg_date.user_id表示注册用户的主键,website_id表示用户注册的站点,reg_date表示注册时间(类型为datetime).表对应的实体类为ChannelRegStatistics,持久层用的ibatis2.3.4.现在想统计每个站点每月的总注册人数,显示在一个表格中,表格两列,一列显示月份,一列显示月总注册人数.sql语句:SELECTMONTH(`reg_date`)

js综合应用实例简单的表格统计_javascript技巧

在做调查问卷的过程中,遇到一个表格的统计问题,算是需要些js方面的综合知识,所以记录下来. 基本需求如下:  核心的htm如下: 复制代码 代码如下: <div class="tablebox"> <h2> <span>(3)2010年市属疾病预防控制中心信息化建设资金来源及分配情况</span></h2> <div class="blockB"> <p> 说明:单位:万元,精确到小

用IP地址来统计访问人数!以天为间限!

<?  require ('common.inc');  $ip=$REMOTE_ADDR;  $current=getdate(time());  $day=$current["mday"];  $query="select * from count";  $result=mysql_db_query('football',$query,$link);  while($row=mysql_fetch_row($result))  {  $num=$row[2

Oracle SQL

1         Oracle简介 一个 Oracle 服务器: 是一个数据管理系统(RDBMS),它提供开放的, 全面的, 近乎完整的信息管理 由一个 Oracle 实例 和一个 Oracle 数据库组成 Oracle 数据库 和 Oracle 实例 Oracle 服务器由两大部分组成, Oracle 数据库 和 Oracle 实例. Oracle 数据库: 位于硬盘上实际存放数据的文件, 这些文件组织在一起, 成为一个逻辑整体, 即为 Oracle 数据库. 因此在 Oracle 看来,