一道Delphi面试题
2023-07-06
下面有4个表:
1.T_USER(用户表)(每个员工一条记录)
中文名 英文名 字段类型 字段说明
用户ID USER_ID char(10) 关键字
用户名称 USER_NAME char(10)
部门编号 DEPT_ID char(10)
入职时间 RZSJ datetime 员工进入公司时间
2.T_DEPT(部门表)
中文名 英文名 字段类型 字段说明
部门编号 DEPT_ID char(10) 关键字
部门名称 DEPT_NAME char(30)
3.T_USER_KQ(用户考勤表)(每个员工每天一条记录,从员工进入公司后开始增加,含员工入职时间)
中文名 英文名 字段类型 字段说明
流水号 VER_ID char(30) 关键字
用户ID USER_ID char(10)
日期 RQ datetime
4.T_USER_KQ_D(用户出外考勤明细表)(每个员工每次出外考勤,增加一条记录,每个员工有0到多条记录)
中文名 英文名 字段类型 字段说明
流水号 VER_ID char(30) 该字段关联T_USER_KQ表的VER_ID
明细流水号 D_VER_ID char(30) 关键字
序号 XH int
出外考勤时间 KQSJ datetime
在SQL Server下已经建立一个数据库ShiTi。
在Main.Pas里有一个函数GetID,用于VER_ID(流水号)内容的生成。
要求:
1.现在要实现一个主从表的录入功能,要求主表T_USER_KQ(用户考勤表)和从表T_USER_KQ_D(用户出外考勤明细表)记录的维护实现事务处理,即要求全部提交成功,要么全部失败,具体功能为:新增、修改、删除、保存、取消、查询。可以看窗口(Main.Pas);
2.要求实现一张报表,显示公司各员工每月的出外考勤情况,要求用存储过程实现,显示下面内容:用户ID、用户名称、日期、出外考勤次数。
3.实现下面SQL:显示公司在1年里有其中3个月(刚好3个月)没有出过外勤的员工;显示内容为:用户ID、用户名称、年度。
4.实现下面SQL:显示每年出外勤次数最多的3个部门:显示内容为:年度、部门编号、部门名称、出外考勤次数。