《主流数据库系统与应用(SQL)》课程实验报告4.doc_第1页
《主流数据库系统与应用(SQL)》课程实验报告4.doc_第2页
《主流数据库系统与应用(SQL)》课程实验报告4.doc_第3页
《主流数据库系统与应用(SQL)》课程实验报告4.doc_第4页
《主流数据库系统与应用(SQL)》课程实验报告4.doc_第5页
全文预览已结束

VIP免费下载

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

文档简介

主流数据库系统与应用(SQL)课程实验报告题目:创建触发器和存储过程姓名倪泽名日期2010-4-22实验环境:操作系统:windows XP ,SQL软件:Microsoft SQL Server实验目的:通过两个小实验,分别使用SQLServer2000企业管理器和Transact-SQL语句,按下列要求创建触发器和存储过程。认识到存储过程是SQL上一组先定义并编译好的TransactSQL语句,使用存储过程可以提高Transact_sql语句的运行性能,提高其运行效率。而触发器是一种很强的约束,可以在数据库中插入数据,修改数据和删除数据时进行检查,以保证数据完整性和一致性。本次试验重在学会创建存储过程和触发器,并合理的管理他们。实验内容与完成情况:1:创建触发器1、在数据库 Company_Data的表项目数据表和员工数据表中分别创建触发器。基于表员工数据表创建AFTER INSERT 触发器 Tigger_NewEmployeeSalary,将插入员工的工资额限制在 5000以内。create trigger Tigger_NewEmployeeSalary on Employee for insertasalter table Employee add constraint ck_Salary check(insered.工资5000)Go 2、书写CREATE TRIGGER语句,基于表员工数据表创建AFTER UPDATE触发器Trigger_SalaryChange,将员工工资变动额限制在2000以内。create trigger Trigger_SalaryChange on Employeefor updateasbegindeclare sal moneyselect sal=工资 from updatedif sal2000update Employee set 工资=2000End2:创建存储过程在数据库Company_Data中创建存储过程Procedure_SalaryByDept,要求返回某一特定部门所有员工的工资总和,其中特定部门的名称以存储过程的输入参数进行传递。在查询窗口书写 CREATE PROCEDURE Transact-SQL语句创建存储过程Procedure_SalaryByDept,并带有一个输入参数Department用于传递部门名称,一个输出参数TotalSalary用于传递输出结果。(3)选择所属部门为该参数传递的部门名称的所有记录,并对其工资字段求和。 (4)报告该部门的工资总额。create proc Procedure_SalaryByDeptDepartment char(50),TotalSalary money outputasif(Department in(select 所属部门 from Employee)beginselect TotalSalary=sum(工资) from Employee where 所属部门=Departmentselect 编号,姓名,性别,所属部门,工资,TotalSalary as 工资总和 from Employee where 所属部门=Departmentendelsebeginselect 不存在该部门endGO(5)执行这个创建存储过程的语句。Exec Procedure_SalaryByDept (6)执行系统存储过程sp_help查看该存储过程的一般信息。sp_help Procedure_SalaryByDept(1) 执行该存储过程,分别计算项目部、录入部、和检验部的工资总额。declare Department chardeclare TotalSalary moneyexec Procedure_SalaryByDept 项目部,TotalSalary outputdeclare Department chardeclare TotalSalary moneyexec Procedure_SalaryByDept 录入部,TotalSalary outputdeclare Department chardeclare TotalSalary moneyexec Procedure_SalaryByDept 检验部,TotalSalary output出现的问题:1:create trigger Trigger_SalaryChange on Employeefor updateasbegindeclare sal moneyselect sal=

温馨提示

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

评论

0/150

提交评论