文档介绍:安徽师范大学
数学计算机科学 学院实验报告
专业名称 软件工程
实 验 室 6-203
实验课程 数据库原理实验
实验名称 触发器的使用
姓 名 李开勇
学 号
实验日期
(1)实验目的:创建触发器并验证触发器。在学生这个数据库的SC表上创建一个更新触发器,若更新成绩时,该触发器会检查成绩提高是否超过30%,如果超过,给出“成绩更改幅度过大,撤销更改”的提示信息,从而掌握理解触发器的作用。
(2)实验原理:触发器是SQL Serer执行的特殊存储过程,它发生在对于一个给定表的增、删、改操作执行后。
(3)实验硬件,软件及操作环境:一台PC机,微软SQL 2005,WindowsXP操作系统。
(4)实验过程及步骤:创建关于SC表的触发器,设定当成绩修改后提高了30%,返回提示信息,最后验证实验结果。
(5)实验原始数据记录和处理:
SC表:
实验程序:
--创建触发器
IF EXISTS(SELECT * FROM SYSOBJECTS WHERE NAME='SC_UPDATA_GARDE' AND TYPE='tr')
DROP TRIGGER SC_UPDATA_GARDE
create TRIGGER SC_UPDATA_GRADE ON SC
FOR UPDATE
AS
DECLARE ***@OLD_GRADE REAL,
***@NEW_GRADE REAL
IF UPDATE(GRADE)
BEGIN
SELECT ***@OLD_GRADE=GRADE
FROM DELETED
SELECT ***@NEW_GRADE=GRADE
FROM INSERTED
IF (***@OLD_GRADE*)<***@NEW_GRADE
BEGIN ROLLBACK TRANSACTION
PRINT '成绩更改幅度过大,撤销更改'
end
end
-