下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 应届生实习报告总结
- 月转正工作总结
- 2026年全国乙卷高考英语易错知识点强化卷含解析
- 2026年新高考全国卷语文古诗文专题测试卷(含解析)
- 电解熔铸工安全风险竞赛考核试卷含答案
- 砖瓦生产中控员安全强化评优考核试卷含答案
- 炭素配料工岗前核心能力考核试卷含答案
- 金属打火机制作工安全知识能力考核试卷含答案
- 低压成套设备装配配线工岗前趋势考核试卷含答案
- 2026年商业地产租赁管理合同
- 2026年交管12123驾照学法减分完整版练习题库及1套完整答案详解
- 江苏交通控股有限公司笔试内容
- 2026年五一节前全体员工安全培训课件
- 初中数学七年级下册问题解决策略专题“特殊化思想:从特殊到一般的桥梁”创新教学设计
- 2026年黑龙江省《保密知识竞赛必刷100题》考试题库附参考答案详解(精练)
- 2026江苏苏州工业园区街道协管员招聘37人农业笔试备考试题及答案解析
- 2026年执业医师定期考核真考试题库带答案详解(A卷)
- 国家义务教育质量监测八年级劳动素养综合测试题
- 贵州医科大学2026考博历年真题配套模拟题及答案
- (二模)温州市2026届高三第二次适应性考试地理试卷(含答案)
- DB44∕T 2171-2019 河道淤泥固化处置技术规范
评论
0/150
提交评论