数据库存储过程.doc_第1页
数据库存储过程.doc_第2页
数据库存储过程.doc_第3页
全文预览已结束

下载本文档

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

文档简介

存储过程一、目的和要求1、 掌握存储过程的使用方法2、 掌握触发器的使用方法二、准备1、 了解存储过程的使用方法2、 了解触发器的使用方法3、 了解逻辑表的使用准备工作:1、 附加数据库yggl2、 删除里面所有的参照关系3、 给employees标增加一列(workyear),并输入数据三、内容(创建存储过程)1) 创建存储过程p1。检查编号为“000001”的员工是否存在,如果存在,显示该员工的所有信息,如果不存在,显示“该员工不存在!”create procedure p1ygid as char(6)=000001asbegin if exists(select * from employees where employeeid=ygid) select * from employees where employeeid=ygid else print 该员工不存在!endp12) 创建存储过程p2。根据职工编号检查该员工是否存在,如果存在,显示该员工的所有信息,如果不存在,显示“该员工不存在!”。create procedure p2ygid as char(6)asbegin if exists(select * from employees where employeeid=ygid) select * from employees where employeeid=ygid else print 该员工不存在!end3) 调用该存储过程p2,检查编号为“108991”的员工是否存在。 exec p2 1089914) 创建存储过程p3,根据职工号比较两个员工的实际收入,输出实际收入较高的员工的职工号。并调用该存储过程比较000001、108991的实际收入。create procedure p3id1 as char(6),id2 as char(6)asbegin declare s1 float declare s2 float select s1=(select income-outcome from salary where employeeid=id1) select s2=(select income-outcome from salary where employeeid=id2) if s1s2 select* from employees where employeeid=id1 else select* from employees where employeeid=id2endexec p3 000001,108991 5) 创建存储过程p4,要求当一个员工的工作年份大于6年时将其转到经理办公室部门去工作。 create procedure p4 employeeid char(6)as begin declare workyear int select workyear=workyearr from employees where employeeid=employeeidif workyear6 update employees set departmentid =3 where employeeid=employeeidendexec p4 0000016)创建存储过程p5,通过该存储过程可以添加员工记录。create procedure p5employeeid char(6),name char(10),birthday datetime,sex bit,address char(20),zip char(6),phonenumber char(12),emailaddress char(30),departmentid char(3),workyear intasbegininsert into employees(employeeid,name,birthday ,sex,address,zip,phonenumber,emailaddress,departmentid,workyearr)values (employeeid,name,birthday,sex,address,zip,phonenumber,emailaddress,departmentid,workyear)end p5 123456,kss,1992-2-2,1,korea,000000,123456789000,123456789,4,67) 为员工表增加一个“职称”列,并输入(工程师副高级工程师高级工程师)数据。然后,创建存储过程,根据员工编号检查员工职称并根据职称增加员工的工资(工程师-300,副高级工程师-500,高级工程师-800。)create procedure p6 BH char(6)asbegindeclare a char(12)set a=(select 职称 from employees where employeeid=BH)if( a=工程师 )update salary set income=income+300 where EmployeeID=BHelse if(a=副高级工程师)update salary set income=income+500 where EmployeeID=BHel

温馨提示

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

最新文档

评论

0/150

提交评论