欢迎来到天天文库
浏览记录
ID:38786827
大小:26.00 KB
页数:4页
时间:2019-06-19
《实验三 PLSQL编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验三PL/SQL编程一、实验目的及要求 (1)掌握PL/SQL块结构、PL/SQL的基本语法、PL/SQL的控制结构。 (2)掌握PL/SQL块中使用复合数据类型和游标的方法。(3)掌握PL/SQL异常处理技术。二、实验主要内容 (1)记录执行命令和操作过程中遇到的问题及解决方法,注意从原理上解释原因。(2)记录利用SQL*Plus或iSQL*Plus编写、执行PL/SQL程序的命令。(3)记录执行命令和操作过程中遇到的问题及解决方法,注意从原理上解释原因。三、实验仪器设备在局域网环境下,有一台服务器和若干台客户机。服务器成功安装Oracle11g数据库服务器(
2、企业版),客户机成功安装Oracle11g客户端软件,网络服务配置正确,数据库和客户端正常工作。四、实验步骤1.在SQL*Plus中使用PL/SQL块处理EMP表中职工号7788的职工,如果工资小于3000那么把工资更改为3000:2.declare3.num_salemp.sal%type;4.begin5.selectsalintonum_salfromempwhereempno=7788;查询EMP表中职工号7788的工资6.if(num_sal<3000)then判断工资是否小于30007.updateempsetsal=3000whereempno=7788
3、;把小于3000的工资改为30008.endif;9.dbms_output.put_line('更新'
4、
5、sql%rowcount
6、
7、'条记录');10.dbms_output.put_line('工资是:'
8、
9、num_sal);11.end;12.2.编写一个程序块,将emp表中前5人的名字显示出来。declare创建一个记录类型v_record,类型包含name,salary,job,deptno分量typev_recordisrecord(nameemp.ename%type,salaryemp.sal%type,jobemp.job%type,deptnoe
10、mp.deptno%type记录类型的分量的数据类型和emp表中列的数据类型一致(%type实现));t_recordv_record;beginselectemp.ename,emp.sal,emp.job,emp.deptnointot_recordfromempwhereempno=7788;读取EMP表中职工号为7788的ename,sal,job,deptno为该变量赋值,输出变量的分量dbms_output.put_line(t_record.name
11、
12、''
13、
14、t_record.salary
15、
16、''
17、
18、t_record.job
19、
20、''
21、
22、t_record
23、.deptno);end;3.某公司要根据雇员的职位来加薪,公司决定按下列加薪结构处理:JOBRaise-----------------------Clerk500Salesman1000Analyst1500Otherwise2000编写一个程序块,接受一个雇员名,从emp表中实现上述加薪处理。(if)DECLAREv_jobemp.job%type;v_incrementNUMBER(4);v_empnoemp.empno%type;BEGINv_empno:=&x;SELECTjobINTOv_jobFROMempWHEREempno=v_empno;IFv_
24、job='CLERK'THENv_increment:=100;ELSIFv_job='SALESMAN'THENv_increment:=160;ELSIFv_job='ANALYST'THENv_increment:=200;ELSEv_job:=300;ENDIF;UPDATEempSETsal=sal+v_incrementWHEREempno=v_empno;END;(CASE)DECLAREv_jobemp.job%type;v_incrementNUMBER(4);v_empnoemp.empno%type;BEGINv_empno:=&x;SELECT
25、jobINTOv_jobFROMempWHEREempno=v_empno;CASEWHENv_job='CLERK'THENv_increment:=100;WHENv_job='SALESMAN'THENv_increment:=160;WHENv_job='ANALYST'THENv_increment:=200;ELSEv_job:=300;ENDCASE;UPDATEempSETsal=sal+v_incrementWHEREempno=v_empno;END;4.基于emp表,利用游标读取员工工资,若工资小于等于1000则将其工资增加20
此文档下载收益归作者所有