A-A+

现有如下两个关系模式:Employees(Eid Name DeptNO)Departmen

2022-08-05 20:16:10 问答库 阅读 171 次

问题详情

现有如下两个关系模式:
Employees(Eid,Name,DeptNO)
Departments(DeptNO,DeptName,TotalNumber)
Employees关系模式描述了职工编号、姓名和所在部门编号;Departments关系模式描述了
部门编号、名称和职工总人数。
请按SQL Server所采用的’rransact—SQL语法格式编写实现具有如下功能的后触发型触
发器:每当在Employees表中插入一行数据时,相应部门的职工总人数就加1。

参考答案

正确答案:Create trigger sql_triOn employees for inserta8declare eid varchar(11)deekare name varehoxf20)declare deptno varehar(11)decl8re fly CUrsoOrforseleet*from insertedopen yJyfetch next from yJy intoeidnamedeptnowhilefeteh_status=0beginupdate departmentsset to'number=totalnumber+1where deptno=deptnofetch next from yJy intoeidnamedeptnoendclose yJydeallocate yJy
Create trigger sql_triOn employees for inserta8declare eid varchar(11)deekare name varehoxf20)declare deptno varehar(11)decl8re fly CUrsoOrforseleet*from insertedopen yJyfetch next from yJy intoeid,name,deptnowhile,feteh_status=0beginupdate departmentsset to'number=totalnumber+1where deptno=deptnofetch next from yJy intoeid,name,deptnoendclose yJydeallocate yJy 解析:此题考查了后触发型触发器的Transact_SQL语句。其语法格式为:
CREATE TRIGGER触发器名称
ON I表名I视图名I
[WITH ENCtlYPTION]
AS
SQL语句
AFTER和FOR,指定触发器只有在引发的SQL语句中指定的操作都已成功执行,并且所有的约束检查也成功完成后.才执行此触发器。即后触发型触发器。

考点:两个,模式