暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
数据库原理实验报告S11-数据库触发器的创建.doc
28
13页
1次
2025-04-29
免费下载
《数据库管理系统 SQL Server》实验报告
实验
11
数据库触发器的建立
实验日期和时间:
2014.11.28
实验室:软件工程室
班级:
12
计科
3
学号:
20124122
姓名:张翔
实验环境:
1.
硬件:内存
4.00GB
处理器
2.50Hz
2.
软件:
Windows 7 旗舰版
Microsoft SQL Server 2005
实验原理:
1.
理解触发器的概念、和一般存储过程的区别、触发器的优点和使用原则。
2.
掌握触发器的创建、执行、查看、修改和删除方法。
一、触发器的概念:
触发器是一种特殊类型的存储过程。一般的存储过程通过存储过程名称被直接调用,而
SQL Server
束、默认值和规则的完整性检查,还可以完成难以用普通约束实现的复杂功能。
当创建数据库对象或在数据表中插入记录、修改记录或者删除记录时
SQL Server
就会
自动执行触发器所定义的
SQL
语句,从而确保对数据的处理必须符合由这些
SQL
语句所
义的规则。触发器和引起触发器执行
SQL
语句被当作一次事务处理,如果这次事务未获
得成功,
SQL Server
会自动返回该事务执行前的状态。
使用触发器有以下优点:
触发器是自动的执行的,。
触发过数表进改,“学生表学号
创建一个删除触发器,当删除“学生表”的记录时,自动级联删除“成绩表”中的个匹配
行。
CHECK
CHECK
束不同的是,触发器可以引用其他表中的列。
触发器可以分为
DML
触发器和
DDL
触发器两种
DDL
触发器用于响应各种数据定义语言
(DDL)
事件。这些事件主要对应于
Transact-
SQL
中的
CREATE
ALTER
DROP
句,
DDL
操作
存储过程。它们用于执行管理任务,并强制影响数据库的业务规则。
DML
触发器是在用户使用数据操作语言
(DML)
事件编辑数据时发生。
DML
事件是
针对表或视图
INSERT
UPDATE
DELETE
语句。
DML
触发器有助于在表或
视图中修改数据时强制业务规则,扩展数据完整性。
DML
触发器又分为
AFTER
触发器和
INSTEAD OF
触发器两种
AFTER
INSERT
UPDATE
DELETE
操作)完成以后才被触发。可以对变动的数据进行检查,如果发现错误,将拒绝接
AFTER
多个
AFTER
触发器。
INSTEAD OF
触发
INSTEAD OF
触发将在据变以前触发并取变动
数据的操作,而去执行触发器定义的操作
INSTEAD OF
触发器可以在表或视图上
INSERT
UPDATE
DELETE
INSTEAD OF
1 2011 5 4
《数据库管理系统 SQL Server》实验报告
器。
二、创建触发器
1.
使用
SQL Server
管理控制台创建
DML
触发器
SQL Server
管理控制台中,展开指定的服务器和数据库,单击要创建触发器的数
表,触发从弹,会
建触发模板窗口建的触发模板窗口单击“查单中“指模板参数的
值”选项,会弹出“指定模板参数的值”对话框,可以在这里设置参数的具体值。
2.
使用
Transact-SQL
语句创建
DML
触发器
使用
Transact-SQL
语言中的
CREATE TRIGGER
命令也可以创建
DML
触发器:
CREATE TRIGGER [ schema_name . ]trigger_name ON { table | view }
[ WITH <dml_trigger_option> [ ,...n ] ]{ FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ]
[ UPDATE ] [ , ] [ DELETE ] }
AS { sql_statement [ ; ] [ ,...n ] }
<dml_trigger_option> ::=[ ENCRYPTION ] [ EXECUTE AS Clause ]
其中,各数的说明如下:
schema_name
DML
触发器所属架构的名称。
trigger_name
:触发器的名称。
table | view
:对其执行
DML
触发器的表或视图。
WITH ENCRYPTION
:对
CREATE TRIGGER
语句的文进行加密处理。
EXECUTE AS
:指定用于执行该触发器的安全上下文。
FOR | AFTER
AFTER
SQL
行时才被触发。不能对视图定义
AFTER
触发器。
INSTEAD OF
:指定执行
DML
触发器而不是触发
SQL
语句。
{[DELETE] [,] [INSERT] [,] [UPDATE]}
指定语句
sql_statement
:触发件和操作
当创建一个触发器时必须指定以下几项
触发器的名称
在其上定义触发器的表
触发器将
执行触发操作的编程语句
注意
DML
触发器时生成的两个表:
DML
使
inserted
deleted
两个表存在于内存中。它们在结构上类似于定义触发器的表。
inserted
INSERT
UPDATE
INSERT
UPDATE
语句数据添加基本,同这些据行
被复制
inserted
时表中。
deleted
DELETE
UPDATE
DELETE
UPDATE
deleted
表中。在基本表和
deleted
表中一般不会存在相同的数据行。
一个
UPDATE
操作由一
DELETE
操作一个
INSERT
操作成的
2 2011 5 4
of 13
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜