存储过程与触发器.doc

存储过程与触发器.doc

ID:61455287

大小:471.00 KB

页数:15页

时间:2021-02-01

存储过程与触发器.doc_第1页
存储过程与触发器.doc_第2页
存储过程与触发器.doc_第3页
存储过程与触发器.doc_第4页
存储过程与触发器.doc_第5页
资源描述:

《存储过程与触发器.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实验七项目名称:存储过程与触发器1、实验目的与要求:(1)掌握存储过程的使用方法。(2)掌握触发器的使用方法。2、实验准备:(1)了解存储过程的使用方法。(2)了解触发器的使用方法。(3)了解inserted逻辑表和deleted逻辑表的使用。3、实验内容:1、创建存储过程(1)添加员工记录的存储过程EmployeeAdd.在新建查询窗口输入如下程序,并执行USEYGGL1GOCREATEPROCEDUREEmployeeAdd(@employeeidchar(6),@namechar(10),@sexbit,@phonen

2、umberchar(12),@emailaddresschar(20),@departmentidchar(3))ASBEGININSERTINTOEmployeesVALUES(@employeeid,@name,@sex,@phonenumber,@emailaddress,@departmentID)ENDRETURNGO(2)修改员工记录的存储过程EmployeeUpdate.USEYGGL1GOCREATEPROCEDUREEmployeeUpdate(@empidchar(6),@employeeidchar(6

3、),@namechar(10),@sexbit,@phonenumberchar(12),@emailaddresschar(20),@departmentidchar(3))ASBEGINUpdateEmployeesSETEmployeeID=@employeeid,Name=@name,Sex=@sex,PhoneNumber=@phonenumber,EmailAddress=@emailaddress,DepartmentID=@departmentIDWHEREEmployeeID=@empidENDRETURN

4、GO没改之前的表:修改之后:(3)删除员工的存储记录过程EmployeeDelete。USEYGGL1GOCREATEPROCEDUREEmployeeDelete(@employeeidchar(6))ASBEGINDELETEFROMEmployeesWHEREEmployeeID=@employeeidENDRETURNGO没改之前的表:修改之后:2调用存储过程USEYGGL1EXECEmployeeAdd'','刘盟',True,'','','4'GOUSEYGGL1EXECEmployeeUpdate'','','

5、刘盟',True,'','','2'GOUSEYGGL1EXECEmployeeDelete''GO最终表数据没有变:分析一下此程序执行时可能出现哪几种情况。答:可能出现三种情况:(1)添加一行数据,值为:'','刘盟',True,'','','4';(2)修改“刘盟”行中数据,将EmployeeID值改为’’,DepartmentID值改为’2’;(3)删除EmployeeID值为’’的这行数据。3.创建触发器对于YGGL数据库,表Employees的DepartmentID列与表Departments的Departmen

6、tID列应满足参照完整性规则,具体说明如下。(1)向Employees表添加1条记录时,该记录的DepartmentID值在Departments表中应存在。(2)修改Departments表DepartmentID字段值时,该值在Employees表中的对应值也应修改。(3)删除Departments表中1条记录时,该记录的DepartmentID字段值在Employees表中对应的记录也应被删除。对于上述参照完整性,在此通过触发器实现。在SQLServerManagementStudio查询编辑窗口中输入如下程序并执行:

7、A、向Employees表插入或修改一条记录时,通过触发器检查记录的DepartmentID值在Departments表中是否存在,若不存在,则取消插入或修改操作。USEYGGL1GOCREATETRIGGEREmployeesInsONdbo.EmployeesFORINSERT,UPDATEASBEGINIF((SELECTins.DEPARTMENTIDFROMinsertedins)NOTIN(SELECTDEPARTMENTIDFROMdepartments))ROLLBACKEND在Employees中增加一条记

8、录,该记录可以插入,看Employees的变化(Departments表没变化):修改DepartmentID值为7,该记录不能插入:B、修改Departments和DepartmentID字段值时,该字段在Employees表中的对应值也进行相应的修改。USEYGGL1GOCREATET

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。