在线作业 发表于 2020-9-5 09:35:21

大工20春《sql数据库系统及应用》辅导资料十四

SQL数据库系统及应用辅导资料十四主    题:第七章Transact-SQL(三)
学习时间:2020年6月29日--7月5日“不忘初心、牢记使命”主题理论学习:我们党要始终成为时代先锋、民族脊梁,始终成为马克思主义执政党,自身必须始终过硬。全党要更加自觉地坚定党性原则,勇于直面问题,敢于刮骨疗毒,消除一切损害党的先进性和纯洁性的因素,清除一切侵蚀党的健康肌体的病毒,不断增强党的政治领导力、思想引领力、群众组织力、社会号召力,确保我们党永葆旺盛生命力和强大战斗力。
摘选自《决胜全面建成小康社会,夺取新时代中国特色社会主义伟大胜利》内    容:第七章Transact-SQL
这周我们将继续学习课件第七章(Transact-SQL触发器)。本节的学习要求及需要掌握的重点内容如下:
1. 了解什么是触发器
2. 掌握管理触发器的方法1、触发器概述
触发器是一种特殊类型的存储过程,在插入、删除或修改特定表中的数据时触发执行。
触发器通常可以强制执行一定的业务规则,以保证数据完整性、检查数据有效性,实现数据库管理任务和一些附加的功能。
SQL Server中的一个表可以设置多个触发器,对于一个表的特定操作也可以设置多个触发器。
触发器不能通过名称被直接调用,更不允许设置参数。
触发器功能:
-级联修改数据库中的相关表
-执行比检查约束更为复杂的约束操作
-拒绝或回滚违反引用完整性的操作
-比较表修改前后的差别,并根据差别采取相应操作触发器类型:
-DML触发器:Insert,update,delete
-DDL触发器(SQL Server 2008):create, alter, drop
-登录触发器
-AFTER触发器,在语句执行之后执行触发器
-INSTEAD OF触发器,使用触发器的操作替换导致触发器执行的语句所本应进行的操作2、管理触发器
创建触发器
/
INSERTED表和DELETED表
在SQL SERVER 2008中,DML触发器的实现经常使用两个逻辑表DELETED和INSERTED。这两个表是建立在数据库服务器的内存中,由系统管理的逻辑表,我们对于它只有只读的权限。
DELETED和INSERED表的结构和触发器所在的数据表的结构是一样的。当触发器执行完成后,它们也就会被自动删除。
Inserted 表用于存储 INSERT 和 UPDATE 语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到 inserted 表和定义触发器的表中。Inserted 表中的行是定义触发器的表中新行的副本。
Deleted表用于存储 DELETE 和 UPDATE 语句所影响的行的副本。在执行DELETE或 UPDATE语句时,行从定义触发器的表中删除,并传输到 deleted表中。修改触发器
/删除触发器
/
重要考点名词解释:
1. 触发器:是一种特殊类型的存储过程,在插入、删除或修改特定表中的数据时触发执行。
2. AFTER触发器:在语句执行之后执行触发器。
3.INSTEAD OF触发器:使用触发器的操作替换导致触发器执行的语句所本应进行的操作。简答题
1.创建触发器stu_delete,实现如下功能:当按照学号删除student表中的某学生记录后,对应的该学生在sc表中的记录也被自动删除。
USE stuinfo
GO
CREATE TRIGGER stu_Delete ON student
FOR DELETE
AS
        DELETE FROM sc WHERE sno=(SELECT sno FROM deleted)分析:创建触发器的语法规则如下:
CREATE TRIGGER 触发器名称
ON{ table | view }       
--指定操作的对象为表或视图,视图只能被 INSTEAD OF 触发器引用
{ FOR |AFTER | INSTEAD OF }                                                --触发器的类型
{ [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }               
--指定数据修改操作,
AS SQL语句        [,…n]                2. 使用存储过程snoquery查询学号为“20070102”学生的信息。
EXECUTE snoquery '20070102‘
转载注明 奥鹏无忧答案网
页: [1]
查看完整版本: 大工20春《sql数据库系统及应用》辅导资料十四