数据技术应用 5_第1页
数据技术应用 5_第2页
数据技术应用 5_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目10使用触发器维护数据——拓展项目任务单任务名称“新闻发布系统”数据库触发器的创建和管理任务编号4-1任务目标1.能正确理解触发器的概念、功能和类型;2.会创建DML触发器;3.会创建INSTEADOF触发器;4.能够管理和维护触发器。任务描述在新闻发布系统中,也有一些较为复杂的业务逻辑,无法用基本的约束实现,因此需要借助触发器来完成相应的功能。请完成以下任务:1.创建INSERT触发器:(1)要求:当向用户信息表插入数据时,显示“你正在插入用户的数据”信息。(2)验证:编写INSERT语句,验证触发器功能。2.创建UPDATE触发器:(1)要求:当修改用户信息表的记录时,向客户端显示一条“原名称与新名称”消息;并执行修改语句,验证触发器的运行。(2)验证:编写UPDATE语句,验证触发器功能。3.创建DELETE触发器(1)要求:当删除用户信息表的数据时,该数据被自动地增加到注销用户表(需要新建)中;并删除用户信息表中的数据,并返回注销用户表中的数据,验证触发器的操作。(2)验证:编写DELETE语句,验证触发器功能。4.创建INSTEADOF触发器(1)要求:当向新闻评论表插入数据时,先检索用户信息表和新闻信息表中是否有该用户号的用户以及该新闻ID的新闻。如果没有,给出提示“用户信息表中没有该用户ID的用户!新闻信息表中没有该新闻”;有则插入该数据。(2)验证:编写INSERT语句,验证触发器功能。完成方式¨小组协作完成¨个人单独完成负责人参与人员工作流程1.创建INSERT触发器:--创建INSERT触发器CREATETRIGGERtrg_UserInfo_InsertON用户信息表AFTERINSERTASBEGINPRINT'你正在插入用户的数据';END;GO--验证触发器INSERTINTO用户信息表(用户ID,用户名,密码,注册时间)VALUES(1,'张三','123456',GETDATE());2.创建UPDATE触发器:--创建UPDATE触发器CREATETRIGGERtrg_UserInfo_UpdateON用户信息表AFTERUPDATEASBEGINDECLARE@oldNameNVARCHAR(50),@newNameNVARCHAR(50);SELECT@oldName=用户名FROMdeleted;SELECT@newName=用户名FROMinserted;PRINT'原名称:'+@oldName+'新名称:'+@newName;END;GO--验证触发器UPDATE用户信息表SET用户名='李四'WHERE用户ID=1;3.创建DELETE触发器--首先创建注销用户表CREATETABLE注销用户表(用户IDINTPRIMARYKEY,用户名NVARCHAR(50)NOTNULL,密码NVARCHAR(50)NOTNULL,注册时间DATETIMENOTNULL,注销时间DATETIMEDEFAULTGETDATE());GO--创建DELETE触发器CREATETRIGGERtrg_UserInfo_DeleteON用户信息表AFTERDELETEASBEGININSERTINTO注销用户表(用户ID,用户名,密码,注册时间)SELECT用户ID,用户名,密码,注册时间FROMdeleted;SELECT*FROM注销用户表WHERE用户IDIN(SELECT用户IDFROMdeleted);END;GO--验证触发器DELETEFROM用户信息表WHERE用户ID=1;4.创建INSTEADOF触发器--创建INSTEADOF触发器CREATETRIGGERtrg_NewsComment_InsteadOfInsertON新闻评论表INSTEADOFINSERTASBEGIN--检查用户是否存在IFNOTEXISTS(SELECT1FROM用户信息表uJOINinsertediONu.用户ID=i.用户ID)BEGINPRINT'用户信息表中没有该用户ID的用户!';RETURN;END--检查新闻是否存在IFNOTEXISTS(SELECT1FROM新闻信息表nJOINinsertediONn.新闻ID=i.新闻ID)BEGINPRINT'新闻信息表中没有该新闻';RETURN;END--如果都存在,则执行插入INSERTINTO新闻评论表(评论ID,新闻ID,用户ID,评论内容,评论时间)SELECT评论ID,新闻ID,用户ID,评论内容,评论时间FROMinserted;PRINT'评论已成功添加';END;GO--验证触发器(假设用户ID2和新闻ID1不存在)INSERTINTO新闻评论表(评论ID,新闻ID,用户ID,评论内容,评论时间)VALUES(1,1,2,'测试评

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论