欢迎来到天天文库
浏览记录
ID:50380234
大小:40.02 KB
页数:5页
时间:2020-03-08
《实验九PLSQL编程技术一.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验九PL/SQL编程技术一实验前准备:参见书本第20页更改ORALCE10g数据库服务器网络配置,将服务命名orcl和监听程序LISTENER的主机名w47改为本机名。实验内容:1、完成书本P297‘2.实训题’的第(2)小题。2、完成书本P322‘2.实训题’的第(1)(2)(6)(7)小题,并写出调用所创建存储过程和函数的语句。P297,2.(2)编写一个PL/SQL块,输出所有比本部门平均工资高的员工信息。declarev_empemp%rowtype;v_empnoemp.empno%type;v_enameemp.emp.ename%type;v_salemp.sal%typ
2、e;v_deptnoemp.deptno%type;beginv_deptno:=&aa;select*intov_empfromempwhere(deptno=v_deptno
3、
4、emp.sal>avg(sal));dbms_output.put_line(v_empno
5、
6、‘’
7、
8、v_ename
9、
10、‘’
11、
12、v_sal
13、
14、‘’
15、
16、v_deptno);end;P322,2.(1)创建一个存储过程,以员工号为参数,输出该员工的工资。createorreplaceprocedureshow_sal(p_empnoemp.empno%type)isp_salemp.sal%type;begin
17、selectsalintop_salfromempwhereempno=p_empno;dbms_output.put_line(p_sal);endshow_sal;declarev_empnoemp.empno%type;beginshow_sal(v_empno);end;(2)创建一个存储过程,以员工号为参数,修改该员工的工资。若该员工属于10号部门,则工资增加150,若属于20号部门,则工资增加200;若属于30号部门,则工资增加250;若属于其他部门,则工资增加300。createorreplaceprocedureadd_sal(p_empnoemp.empno%type)
18、isp_salemp.sal%type;p_deptnoemp.deptno%type;p_incrementnumber;beginselectdeptnointop_deptnofromempwhereempno=p_empno;ifp_deptno=10thenp_increment:=150;elsifp_deptno=20thenp_increment:=200;elsifp_deptno=30thenp_increment:=250;elsep_increment:=300;endif;updateempsetsal=sal+p_incrementwhereempno=p_e
19、mpno;endadd_sal;declarev_empnoemp.empno%type;beginadd_sal(v_empno);end;(6)创建一个函数,以部门号为参数,返回部门平均工资。createorreplacefunctionret_avgsal(p_deptnoemp.dept%type)asp_avgsalemp.sal%type;beginselectavg(sal)intop_avgsalfromempwheredeptno=p_deptno;returnp_avgsal;exceptionwhenno_data_foundthendbms_output.put_
20、line(‘Thedeptnoisinvalid!’);endret_avgsal;declarev_deptnoemp.dept%type;beginret_avgsal(v_deptno);end;(7)创建一个函数,以员工号为参数,返回该员工所在部门的平均工资。createorreplacefunctionshow_avgsal(p_empnoemp.empno%type)returnemp.sal%type;asp_avgsalemp.sal%typebeginselectavg(sal)intop_avgsalfromempwhereempno=p_empno;returnp_
21、avgsal;exceptionwhenno_data_foundthendbms_output.put_line(‘Theempnoisinvalid!’);endshow_avgsal;declarev_empnoemp.empno%typebeginshow_avgsal(v_empno);end;实验要求:将SQL语句放入一个word文档中,上传到BB平台上。
此文档下载收益归作者所有