本人初学,对过程和函数不太了解,求指导。
根据一张考勤表,有如下字段:部门编号、部门、员工ID、员工姓名、考勤日期,考勤情况(布尔型),写一个存储过程,能够调用查询到某部门1日-10日的缺勤人数。在线等答案,小弟仅有25分,跪求答案!!

解决方案 »

  1.   

    不需要存储过程,直接查询就好了
    注意2个部分:1、人数 2、次数select distinct 员工id from 考勤表 where  考勤日期 > 1号 and 考勤日期 <10号 and 考勤情况=‘某一个值’ select  员工id from 考勤表 where  考勤日期 > 1号 and 考勤日期 <10号 and 考勤情况=‘某一个值’ 
      

  2.   


    -- Create table
    create table ATTENDANCE
    (
      deptno      NUMBER,
      dname       VARCHAR2(50),
      empid       NUMBER,
      ename       VARCHAR2(50),
      attend_date DATE,
      situdation  VARCHAR2(1)
    );
    CREATE OR REPLACE PROCEDURE inquire_attend
    IS
      v_count NUMBER;--缺勤人数
    BEGIN
      SELECT COUNT(*) INTO v_count FROM attendance WHERE (to_char(attend_date, 'mm ') between 1 AND 10) AND situdation='否';
    dbms_output.put_line(v_count);
    END;INSERT INTO ATTENDANCE VALUES(1,'werun',1,'yellow',to_date('2012-04-22','yyyy-mm-dd'),'否');SQL> begin inquire_attend;end;
      2  /
      

  3.   


    situdation  VARCHAR2(1)改成situdation  VARCHAR2(2)oracle似乎不能在表里面用bollean 用汉字模拟,一个汉字要两个字节,我也是新手,如有不对,请多指教
      

  4.   

    汉字占用一个字符还是2哥字符是看你的字符集的吧。
    如果是汉字的字符集
    VARCHAR2(1 char)就可以了,但是是2个字节。
    个人意见。