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

题目内容(请给出正确答案)

现有如下两个关系模式:

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 intoeidnamedeptno whilefeteh_status=0 begin update departments set to'number=totalnumber+1 where deptno=deptno fetch next from yJy intoeidnamedeptno end close yJy deallocate yJy
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语句中指定的操作都已成功执行,并且所有的约束检查也成功完成后.才执行此触发器。即后触发型触发器。
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
更多相关问题