现有如下两个关系模式:Employees(Eid,Name,DeptNO)Departments(DeptNO,DeptName,TotalNumber)Employees关系模式描述了职工编号、姓名和所在部门编号;Departments关系模式描述了部门编号、名称和职工总人数。请按SQL Server所采用的’rransact—SQL语法格式编写实现具有如下功能的后触发型触发器:每当在Employees表中插入一行数据时,相应部门的职工总人数就加1。
【正确答案】正确答案:Create trigger sql_tri On employees for insert a8 declare eid varchar(11) deekare name varehoxf20) declare deptno varehar(11) decl8re fly CUrsoOrfor seleet* from inserted open yJy fetch next from yJy intoeid,name,deptno while,feteh_status=0 begin update departments set to'number=totalnumber+1 where deptno=deptno fetch next from yJy intoeid,name,deptno end close yJy deallocate yJy
【答案解析】解析:此题考查了后触发型触发器的Transact_SQL语句。其语法格式为: CREATE TRIGGER触发器名称 ON I表名I视图名I [WITH ENCtlYPTION] AS SQL语句 AFTER和FOR,指定触发器只有在引发的SQL语句中指定的操作都已成功执行,并且所有的约束检查也成功完成后.才执行此触发器。即后触发型触发器。