实验五 SJK触发器

实验五 SJK触发器

2023.4.19

实验地点

软件工程基础实验室

实验课时

2

​通过实验加深对数据完整性的理解,学会理解、创建和使用触发器。

​使用SQL语句熟悉触发器的创建和查看方法,熟悉触发器的修改和删除方法。

 (1) 仍然使用自定义完整性实验中的Teacher表。为此表建立触发器T1,当插入或使更新表中的数据时,保证所操作的纪录的Tage值大于0。

在新建查询窗口中输入如下SQL语句

USE University Mis

GO

CREATE TRIGGER T1 ON Teacher

FOR INSERT,UPDATE

AS

IF(SELECT Tage FROM INSERTED)<1

BEGIN

PRINT ‘职工年龄必须是大于0的整数! 操作失败!’

ROLLBACK TRANSACTION

END

(2) 为Teacher表建立触发器T2,禁止删除编号为S01的CEO。

在新建查询窗口中输入如下SQL语句

USE University_Mis

GO

CREATE TRIGGER T2 ON Teacher

FOR DELETE

AS

IF(SELECT Tno FROM DELETED)=’T01’

BEGIN

PRINT ‘此人是CEO! 删除操作失败!’

ROLLBACK TRANSACTION

END

(3) Teacher表中的人员的编号是唯一且不可更变的,创建触发器T3实现更新中编号的不可改变性。在新建查询窗口中输入如下SQL语句

USE University_Mis

GO

CREATE TRIGGER T3 ON Teacher

FOR UPDATE

AS

IF UPDATE(Tno)

BEGIN

PRINT ‘职工编号不能修改!’

ROLLBACK TRANSACTION

END

(4) 在新建查询窗口中输入如下SQL语句

USE University_Mis

INSERT INTO Teacher VALUES(‘T03’,’ 李宏’,’F’,-10,’开发部’)

(5) 在新建查询窗口中输入如下SQL语句

USE University_Mis

UPDATE Teacher SET Tage=-7 WHERE Tno=’T01’

(6) 在新建查询窗口中输入如下SQL语句

USE University_Mis

DELETE FROM Teacher WHERE Tname=’李用’

(7) 在新建查询窗口中输入如下SQL语句

USE University_Mis

UPDATE Teacher SET Tno=’T07’ WHERE Tsex=’F’

经检验,实验基本达到预期效果。有点感悟需要牢记,触发器会在当系统检测数据中有违反完整性约束条件时给出用户必要的提示信息,还会引起系统内部自动进行某些操作,已消除违反完整性约束条件所引起的负面影响,具有安全保护的功能。

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值