嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元微信扫码支付:2 元
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
实验六 使用触发器实现数据完整性实验报告
学号: |
1181301123 |
姓名: |
曹文浩 |
班级: |
计算机1181 |
指导老师: |
冯万利,唐洁方 |
实验时间: |
5.15 |
实验地点: |
家 |
一、实验目的和要求
要求学生理解触发器实现数据完整性的重要性,掌握用触发器创建与应用的方法;掌握用触发器实现数据参照完整性的方法;理解触发器与约束的不同。
二、实验内容
(1)为表建立触发器,激活触发器进行验证。
(2)为表建立级联更新的触发器,实现参照完整性,并激活触发器进行验证。
(3)比较约束与触发器的执行顺序。
三、实验步骤
实验8.1
创建 JXGL数据库表S的插人触发器tri_INSERT_S,插人记录的年龄仅在15~30。
(1)打开SQL Server Management Studio窗口。
(2)单击“标准”工具栏上的“新建查询"按钮,打开“查询编辑器”窗口。
(3)在窗口内直接输入以下CREATE TRIGGER语句创建触发器。
(4)为JXGL数据库表S创建一个INSERT触发器,当插入的新行中年龄的值不在15~ 30时就激活该触发器,撤销该插入操作。
USE JXGL
GO
CREATE TRIGGER tri_INSERT_S ON S
FOR INSERT
AS
DECLARE @S_age tinyint
SELECT @S_age= S.age
FROM S
IF @S_age NOT BETWEEN 15 AND 30
ROLLBACK TRANSACTION
GO
(5)单击“SQL编辑器"工具栏上的“分析”按钮,检查输人的T-SQL语句是否有语法错误,如果有语法错误则进行修改,直到没有语法错误为止。
(6)确保无语法错误后单击“SQL编辑器"工具栏上的“执行”按钮,完成触发器的创建。
USE JXGL
GO
-- DELETE删除类型触发器
CREATE TRIGGER tgr_s_delete
ON S
FOR DELETE --删除触发
AS
PRINT '备份数据中···'
IF(object_id('S_Backup','U') IS NOT NULL)
--存在S_Backup, 直接插人数据
INSERT INTO S_Backup SELECT sno,sname,age,sex,sdept FROM deleted
ELSE
--不存在s_Backup,创建后入再插入
SELECT * INTO S_Backup FROM deleted
PRINT '备份数据成功!'
GO