- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验报告三创建和使用触发器
实验报告
实验名称 实验目的:
实验内容:INSERT INTO SC
VALUES (200215123,1,89);
例2.创建一个UPDATE触发器,该触发器防止用户修改“选课表”的成绩。
CREATE TRIGGER trgupstudent
ON SC
FOR UPDATE
AS
IF UPDATE(Grade)
BEGIN
RAISERROR(不能修改课程分数,16,10)
ROLLBACK TRANSACTION
END
GO
另外一种触发器:
CREATE TRIGGER trgupstudent2
ON SC
INSTEAD OF UPDATE
AS
IF UPDATE(Grade)
RAISERROR(不能修改课程分数,16,10)
例3:创建一个DELETE触发器。当删除“学生表”中的记录时,自动删除“选课表”中的对应学号的记录。
CREATE TRIGGER trgdelstudent
ON student
FOR DELETE
AS
BEGIN
DECLARE @xh varchar(12)
SELECT @xh=deleted.Sno
FROM deleted
DELETE SC WHERE Sno=@xh
END
GO
例四:创建一个触发器,在STUDENT表中插入记录,当插入年龄大于25时,输出年龄应小于25,插入失败。
create trigger sage
on student
after insert
as
if (select sage from inserted )25
begin
print(年龄应小于)
end
当输入Insert into Student1 values (2007241082 ‘王阳’‘男’ 36 ‘计算机’);
例五:create trigger ss1
on student
for insert
as
begin
declare@xh smallint;
select@xh=inserted.Sage
from inserted;
if exists(select sno from student where Sage=@xh)
update student set sage=@xh+1 where Sage=@xh;
end;
创建触发器如下:
当执行以下语句时
insert into student
values(200515125,zp,男,20,ma);
例六:create trigger insert_s
on student
after insert
as begin
if (select sage from inserted)20
update student
set sage=20
end;
当输入insert into student
values (200215129,张琪,男,18,ma)
结果分析 :
1.触发器是一种特殊类型的存储过程。一般的存储过程通过存储过程名称被直接调用,而触发器主要是通过当某个事件发生时自动被触发执行的。触发器可以用于SQL Server约束、默认值和规则的完整性检查,还可以完成难以用普通约束实现的复杂功能。
2.当创建数据库对象或在数据表中插入记录、修改记录或者删除记录时,SQL Server就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合由这些SQL语句所定义的规则。触发器和引起触发器执行的SQL语句被当作一次事务处理,如果这次事务未获得成功,SQL Server会自动返回该事务执行前的状态。
3.触发器是自动的执行的。
触发器可以通过数据库中的相关表进行层叠更改。
触发器可以强制限制。这些限制比用CHECK约束所定义的更复杂。
4.DDL触发器用于响应各种数据定义语言 (DDL) 事件。这些事件主要对应于 Transact-SQL 中的CREATE、ALTER 和 DROP 语句,以及执行类似 DDL 操作的某些系统存储过程。它们用于执行管理任务,并强制影响数据库的业务规则。
5.DML触发器是在用户使用数据操作语言 (DML) 事件编辑数据时发生。DML 事件是针对表或视图的 INSERT、UPDATE 或 DELETE 语句。DML触发器有助于在表或视图中修改数据时强制业务规则,扩展数据完整性。
6.DML触发器又分为AFTER触发器和INSTEAD OF触发器两种:
AFTER触发器:这种类型的触发器将在数据变动完成以后才被触发。AFTER触发器只能在表上定义。INSTEAD OF触发器可以在表或视图上定义。每个INSERT、UPDATE和DELETE语句最多定义一个INSTEAD OF触发器。
教 师
评 语
您可能关注的文档
- 复变函数与积分变换重要公式集锦(第一篇12章).doc
- 复合绝缘套管综述.doc
- 复习大纲(高速数字电路).doc
- 夏季危险化学品储存的安全措施.doc
- 复数相等的充要条件及应用.doc
- 夏热冬暖地区太阳能溶液除湿空调的分析.doc
- 外墙外保温及饰面验收标准.doc
- 外贸老人经验分享5-外贸业务员如何处理客户的还价.doc
- 处方药专业化推广操盘真经试题答案6分.doc
- 外贸单据中英文对照a.doc
- 信息技术-通信行业:OpenAI发布o1模型,有望驱动推理算力需求再上新台阶.pdf
- 信息技术-电子行业华为2024全连接大会前瞻:聚焦华为全连接,共赢行业智能化.pdf
- 信息服务-AI Agent(智能体):从技术概念到场景落地.pdf
- 通信-OpenAI发布o1新模型,光博会新技术精彩纷呈.pdf
- 通信-“合成数据+强化学习”:大模型进化的新范式.pdf
- 宏观专题研究:降息的预期和现实如何博弈?.pdf
- 宏观深度报告:美联储历次开启降息:经济与资产.pdf
- 宏观经济专题研究:从货币、财政政策力度指数到宏观政策力度综合指数.pdf
- 储能专题系列(1):装机高增,价格底部,盈利分化.pdf
- 智慧园区-福清市光电科技产业园音西片区-产业园区服务设施园区服务中心智慧管理平台系统项目.docx
文档评论(0)