【持续更新】2023年5月数据库系统工程师 下午题之十一
摘要:对于【数据库系统工程师】软考考试而言,真题无疑是最重要的学习资料之一。在软考备考过程中,吃透真题、掌握真题所考知识点、熟悉真题的出题思路,对我们提升分数的效果是最明显的,通过对真题的反复练习,还可以查漏补缺。今天,给大家带来【【持续更新】2023年5月数据库系统工程师 下午题】部分真题的详解,一起来看看吧~1、【问题2】(5分)为了防止对员工工资表的非法修改(包括内部犯
1、【问题2】(5分)为了防止对员工工资表的非法修改(包括内部犯罪),系统特意规定了员工工资表修改的业务规则:对员工工资表的修改只能在每月25日的上班时间进行。下面是员工工资表修改业务规则对应的程序,请补全空缺处的代码。CREATE TRIGGER CheckBusinessRule (g) INSERT OR DELETE OR (h) on SALARYFOR EACH (i) BEGINIF (TO_CHAR(sysdate,'DD')<> (j) )OR(to_number(TO_CHAR(sysdate,’HH24')) (k) BETWEEN 8 AND 18) THENRaise_Error; //抛出异常END IF;END;
答案:A
答题解析:
本题考查触发器的相关知识。
根据题意,对员工工资表的修改只能在每月25日的上班时间进行。
参考答案如下:
g:before
h:update
i:row
j:'25'
k:not
触发器程代码解析如下。
CREATE TRIGGER CheckBusinessRule //创建CheckBusinessRule触发器
(g)before INSERT OR DELETE OR(h)update on SALARY //制定触发事件为在SALARY表的DELETE和UPDATE操作之前
FOR EACH(i)row //设置触发器为行级的,即每条记录的操作均会触发
BEGIN
IF (TO_CHAR(sysdate,'DD')<> (j)’25’) //设置每月25的条件,由于sysdate利用TO_CHAR函数转换成了字符串,索引25要写成字符形式'25'
OR(to_number(TO_CHAR(sysdate,‘HH24’))//将sysdate小时转换成数字
(k)not BETWEEN 8 AND 18) THEN //指定如果不是在工作时间操作,即不在8-18时之间
Raise_Error; //抛出异常
END IF;
END;
查看完整试题>>>
软考资料: 2024年软考论文范文> 软考考试核心重点难点汇总> 查看更多>
备考刷题:章节练习+每日一练> 软考历年试题+模拟题>查看更多>