数据库存储过程.doc

上传人:scccc 文档编号:12355802 上传时间:2021-12-03 格式:DOC 页数:4 大小:80KB
返回 下载 相关 举报
数据库存储过程.doc_第1页
第1页 / 共4页
数据库存储过程.doc_第2页
第2页 / 共4页
数据库存储过程.doc_第3页
第3页 / 共4页
数据库存储过程.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《数据库存储过程.doc》由会员分享,可在线阅读,更多相关《数据库存储过程.doc(4页珍藏版)》请在三一文库上搜索。

1、存储过程一、目的和要求1、掌握存储过程的使用方法2、掌握触发器的使用方法二、准备1、了解存储过程的使用方法2、了解触发器的使用方法3、了解逻辑表的使用准备工作:1、 附加数据库 yggl '2、 删除里面所有的参照关系3、给 employees 标增加一列( workyear ),并输入数据三、内容( 创建存储过程)1) 创建存储过程pl。检查编号为“ 000001 ”的员工是否存在,如果存在,显示该员工的所 有信息,如果不存在,显示“该员工不存在! ”createprocedurep1ygidas char( 6)= '000001'asbeginifexists(s

2、elect* from employeeswhere employeeid =ygid )select* fromemployees whereemployeeid= ygidelseprint ' 该员工不存在 !' end p12) 创建存储过程p2。根据职工编号检查该员工是否存在,如果存在,显示该员工的所有信 息,如果不存在,显示“该员工不存在! ”。create procedure p2ygid as char ( 6)asbeginif exists( select * from employees where employeeid =ygid ) select *

3、from employees where employeeid = ygidelseprint ' 该员工不存在 !'end3) 调用该存储过程p2,检查编号为“ 108991 ”的员工是否存在。exec p2 '108991'4)创建存储过程p3,根据职工号比较两个员工的实际收入,输出实际收入较高的员工的职 工号。并调用该存储过程比较000001'、 108991'的实际收入。create procedure p3id1 as char ( 6), id2 as char ( 6) asbeginselect * from employees

4、elsewhere employeeid =id1select * from employees endwhere employeeid =id2exec p3 '000001', '108991'5)创建存储过程p4,要求当一个员工的工作年份大于 工作。6 年时将其转到 '经理办公室 '部门去create procedureasp4 employeeidchar ( 6)declares1floatdeclares2floatselects1=(selectincome- outcomefromsalarywhereemployeeid=id1

5、 )selects2=(selectincome- outcomefromsalarywhereemployeeid=id2 )if s1> s24begindeclare workyear intfrom employeesselect workyear =workyearr valueswhere employeeid=employeeidif workyear >6 update employeesset departmentid=3 where employeeid = employeeidendexec p4 '000001'6)创建存储过程p5,通过该存

6、储过程可以添加员工记录。 create procedure p5employeeid char ( 6), name char ( 10), birthdaychar ( 20), zip char ( 6), phonenumberchar ( 12), emailaddresschar ( 30), departmentidchar ( 3), workyearintasbegininsert intoemployees ( employeeid ,name , birthday, sex, address , zip , phonenumber, emailaddress , depar

7、tmentid ,workyearr )datetime , sex bit , address( employeeid , name, birthday , sex, address , zip , phonenumber , emailad dress , departmentid , workyear )endp5 '123456' , 'kss' , '1992-2-2', '1' , 'korea' , '000000' , '9000' , '' , &#

8、39;4' , '6'数据。 然后,-300,副高7) 为员工表增加一个 “职称” 列,并输入 (工程师 副高级工程师 高级工程师) 创建存储过程,根据员工编号检查员工职称并根据职称增加员工的工资(工程师 级工程师 -500 ,高级工程师 -800 。)create procedure p6 BH char ( 6)asbegindeclarea char( 12)set a=( select职称 fromemployeesif ( a=' 工程师 ')updatesalaryset income= incomeelse if( a=' 副高级工程师 ' )updatesalaryset income= incomeelseupdatesalaryset income= incomeendwhere employeeid =BH)+300whereEmployeeID=BH+500whereEmployeeID=BH+800whereEmployeeID=BH8)删除存储过程 p1,p2,p3,p4,p5,p6 drop procedure p1, p2, p3, p4, p5, p6

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1