收藏 分享(赏)

触发器创建实验.doc

上传人:hyngb9260 文档编号:7835315 上传时间:2019-05-27 格式:DOC 页数:3 大小:34KB
下载 相关 举报
触发器创建实验.doc_第1页
第1页 / 共3页
触发器创建实验.doc_第2页
第2页 / 共3页
触发器创建实验.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、 触发器的创建实验实验一:创建一个 INSERT 触发器 “TR_Stu_Insert”,当在 STUDENT 表中插入一条新记录时,触发该触发器,并给出“你插入了一条新记录!”的提示信息。实现本题的方法如下:步骤一:在 SQL Server 管理控制台中,展开 STUDENT 数据库,右击 STUDENT 表中的“触发器”文件夹。从弹出的快捷菜单中选择“新建触发器”选项。步骤二:单击“查询”菜单中的“指定模板参数的值”菜单项,在“指定模板参数的值”对话框中,将参数“Schema_Name ”的值修改为“dbo” ,参数“Trigger_Name ”的值修改为“TR_Stu_Insert”,参

2、数“Table_Name”的值修改为“T_STUDENT”,参数“Data_Modification_Statements”的值修改为“INSERT” 。单击“确定”按钮。步骤三:在新建触发器模板窗口中,在 BEGIN 和 END 语句之间输入以下 3 条语句:DECLARE msg char(30)SET msg=你插入了一条新记录!PRINT msg步骤四:单击工具栏上的“执行”按钮,即可完成此触发器的创建。实验二:创建了 Stu_Insert 触发器后,查看向 T_STUDENT 表中插入数据时,此触发器所完成的功能:检查该学生的选修课程必须在 3 门以上,否则拒绝该学生数据。在 SQL

3、 Server 管理控制台中新建一个查询 ,并输入以下 SQL 语句:USE STUDENTGOinsert into T_STUDENT (S_NUMBER,S_NAME,SEX) values(0554115,王小帆,女)GO实验三:创建一个 AFTER 触发器,要求实现以下功能:在 SCORE 表上创建一个插入、第 10 章 触发器的创建和使用更新类型的触发器 TR_ScoreCheck,当在 SCORE 字段中插入或修改考试分数后,触发该触发器,检查分数是否在 0-100 之间。程序清单如下:USE STUDENTGOCREATE TRIGGER TR_ScoreCheckON T_S

4、COREFOR INSERT, UPDATE ASIF UPDATE(SCORE)PRINT AFTER 触发器开始执行BEGINDECLARE ScoreValue realSELECT ScoreValue=(SELECT SCORE FROM inserted)IF ScoreValue100 OR ScoreValue0 PRINT 输入的分数有误,请确认输入的考试分数!ENDGO实验四:创建一个 AFTER 触发器,要求如下:在 STUDENT 表上创建一个删除类型的触发器 TR_Stu_Delete,当在 T_STUDENT 表中删除某一条记录后,触发该触发器,在T_SCORE 表

5、中删除与此学号对应的记录。USE STUDENTGOIF EXISTS(SELECT name FROM sysobjects WHERE name =TR_Stu_Delete AND type = TR)DROP TRIGGER TR_Stu_DeleteGOCREATE TRIGGER TR_Stu_DeleteON T_STUDENT FOR DELETEAS PRINT 删除触发器开始执行第 10 章 触发器的创建和使用DECLARE StuNum char(10)PRINT 把在 T_STUDENT 表中删除的记录的 S_NUMBER 赋值给局部变量StuNum。SELECT St

6、uNum=S_NUMBERFROM deletedPRINT 开始查找并删除 T_SCORE 表中的相关记录DELETE FROM T_SCORE WHERE S_NUMBER=StuNumPRINT 删除了 T_SCORE 表中的学号为+RTRIM(StuNum)+ 的记录。GO实验五:创建一个 INSTEAD OF 触发器,要求实现以下功能:在 T_COURSE 表上创建一个删除类型的触发器 TR_NotAllowDelete,当在 T_COURSE 表中删除记录时,触发该触发器,显示不允许删除表中数据的提示信息。程序清单如下:USE STUDENTGOIF EXISTS(SELECT name FROM sysobjects WHERE name =TR_NotAllowDelete AND type = TR)DROP TRIGGER TR_NotAllowDeleteGOCREATE TRIGGER TR_NotAllowDeleteON T_COURSEINSTEAD OF DELETEASPRINT INSTEAD OF 触发器开始执行PRINT 本表中的数据不允许被删除!不能执行删除操作!GO

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报