Presentation is loading. Please wait.

Presentation is loading. Please wait.

第10章 触发器的创建和使用 10.1 触发器概述 10.2 创建触发器 10.3 修改触发器 10.4 删除触发器.

Similar presentations


Presentation on theme: "第10章 触发器的创建和使用 10.1 触发器概述 10.2 创建触发器 10.3 修改触发器 10.4 删除触发器."— Presentation transcript:

1 第10章 触发器的创建和使用 10.1 触发器概述 10.2 创建触发器 10.3 修改触发器 10.4 删除触发器

2 能力目标   触发器的创建和维护方法;   各种触发器的特性;   使用触发器编程。

3 态度目标   团队精神;   态度积极;   任务按时完成;   出勤。

4 重点难点   重点:   触发器的创建和维护方法;   使用触发器编程。   难点:

5 10.1 触发器概述 1. 触发器概念 触发器是一种特殊的存储过程,在用户试图对 指定的表执行指定的数据修改语句(INSERT、
10.1 触发器概述   1. 触发器概念   触发器是一种特殊的存储过程,在用户试图对 指定的表执行指定的数据修改语句(INSERT、 UPDATE或DELETE)时自动执行。可实现多个数 据表中共享属性字段值的一致性检查和修改,并可 以自动执行诸如查询或修改的等操作。

6 10.1 触发器概述 2. 触发器的种类 AFTER触发器:在执行完INSERT、DELETE 或UPDATE操作后,数据发生变动后触发。
10.1 触发器概述   2. 触发器的种类   AFTER触发器:在执行完INSERT、DELETE 或UPDATE操作后,数据发生变动后触发。   INSTEAD OF 触发器:数据变动前触发,并取 代变动数据的操作(如INSERT、DELETE和 UPDATE),转而去执行触发器定义的操作。

7 10.2 创建触发器   方法1:使用“SQL Server Management Studio” 创建触发器

8 10.2 创建触发器 方法2:使用“Transact-SQL” 创建触发器
10.2 创建触发器   方法2:使用“Transact-SQL” 创建触发器 CREATE TRIGGER [ schema_name . ]trigger_name ON { table | view } [ WITH ENCRYPTION ] { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS { sql_statement [ ; ] }

9 10.3 修改触发器   方法1:使用“SQL Server Management Studio” 修改触发器

10 10.3 修改触发器 方法2:使用“Transact-SQL” 修改触发器
10.3 修改触发器   方法2:使用“Transact-SQL” 修改触发器 ALTER TRIGGER [ schema_name . ]trigger_name ON { table | view } [ WITH ENCRYPTION ] { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS { sql_statement [ ; ] } CREATE TRIGGER DDLtrigger ON DATABASE FOR DROP_TABLE AS PRINT 'DDL触发器被触发!' ROLLBACK

11 10.4 删除触发器   方法1:使用“SQL Server Management Studio” 删除触发器

12 10.4 删除触发器 方法2:使用“Transact-SQL” 删除触发器 1. 删除DML触发器 2. 删除DDL触发器
10.4 删除触发器   方法2:使用“Transact-SQL” 删除触发器   1. 删除DML触发器   2. 删除DDL触发器 DROP TRIGGER schema_name.trigger_name [ ,...n ] [ ; ] DROP TRIGGER trigger_name [ ,...n ] ON { DATABASE | ALL SERVER } [ ; ]

13 10.4 删除触发器 方法2:使用“Transact-SQL” 删除触发器 【案例10.1】
10.4 删除触发器   方法2:使用“Transact-SQL” 删除触发器 【案例10.1】   使用Transact-SQL语句,删除eTradeInfo上的 DDLtrigger触发器。 【案例10.2】   使用Transact-SQL语句,删除Employees上的 DelEmpInfo触发器 DROP TRIGGER DelEmpInfo DROP TRIGGER DDLtrigger ON eTradeInfo

14 使用案例数据eTradeInfo,在“SQL Server Management Studio”管理窗口中,完成以下题目触发
案例分析   使用案例数据eTradeInfo,在“SQL Server Management Studio”管理窗口中,完成以下题目触发 器创建和Transact-SQL代码调试。   1. 在Employees上编写一个触发器,当修改某雇 员信息时,将该雇员销售记录的相关商品信息 Sales 一同修改。   2. 在库存表 StockPile上创建 INSTEAD OF 触发 器,当有人企图修改、删除库存时返回警告信息。   3. 在销售合同明细表(Sale_detail)上创建一个 触发器,将合同中的数量及时在库存表 StockPile 中 更新。

15 用“SQL Server Management Studio” 和 T-SQL 语句在表上创建各种类型的触发器,并在“SQL编
案例分析 要求:   用“SQL Server Management Studio” 和 T-SQL 语句在表上创建各种类型的触发器,并在“SQL编 辑器 ” 窗口中调试; 问题:   1. 用户可以调用触发器吗?   2. INSTEAD OF 触发器与AFTER触发器有何 区别? 讨论:   触发器与存储过程和自定义函数有何异同。

16 触发器是一种特殊的存储过程,常常用于强制 操作业务规则和数据完整性约束。 DDL触发器在数据库表上创建,当该表发生触
本章小结   触发器是一种特殊的存储过程,常常用于强制 操作业务规则和数据完整性约束。   DDL触发器在数据库表上创建,当该表发生触 发器所定义的事件如修改数据(UPDATE)、插入 (INSERT)数据或删除(DELETE)数据前后,触 发器会自动执行所定义的操作   DML触发器是对数据库对象创建(CREATE)、 删除(DROP)和修改(ALTER)等操作时所定义 的一种触发器,其主要功能是防止或响应对数据库 架构进行修改,记录数据库架构中的更改和事件等, 是SQL Server 2005新功能。


Download ppt "第10章 触发器的创建和使用 10.1 触发器概述 10.2 创建触发器 10.3 修改触发器 10.4 删除触发器."

Similar presentations


Ads by Google