- 1、本文档共16页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三 PL/SQL编程1.PL/SQL块处理定义一个包含声明、执行和异常处理的块查询EMP表中职工号7788的工资,输出工资的值并且如果工资小于3000那么把工资更改为3000,异常部分对NO_DATA_FOUND异常进行处理,输出没有该员工。如果想运行缓冲区的内容,那么可以用RUN命令或者/命令;serveroutput需要设置为on2.记录类型的使用创建一个记录类型v_record,类型包含name,salary,job,deptno等分量,要求记录类型的分量的数据类型和emp表中列的数据类型一致(%type实现)。创建一个变量,变量类型为v_record,读取EMP表中职工号为7788的ename,sal,job,deptno为该变量赋值,输出变量的分量。3.条件语句的使用分别用IF语句和CASE语句实现以下要求:输入一个员工号,修改该员工的工资,如果该员工职位是CLERK,工资增加100;若为SALESMAN,工资增加160;若为ANALYST,工资增加200;否则增加300。4. 循环和显示游标的使用分别用简单循环、WHILE循环、FOR循环以及显示游标统计并输出各个部门的人数以及平均工资5.用隐式游标实现以下要求:修改部门号为50的部门地址为‘BEIJING’。如果该部门不存在,则向dept表中插入一个部门号为50,地址为‘BEIJING’的记录。6.创建一个显示雇员总人数的存储过程emp_count,并执行该存储过程7. 编写显示雇员信息的存储过程EMP_LIST,并引用EMP_COUNT存储过程8. 创建函数,实现功能为:在scott.emp表和scott.dept表中查询出任意给定职工号的职工姓名及职工所在部门的名称。9. 创建触发器,实现更新dept表中的deptno值,级联更新emp表中相应值。10. 对存储过程、函数及触发器实现查看、修改、删除等基本操作。主要算法和程序清单:1.DECLAREv_empno emp.empno%TYPE:=7788;v_sal emp.sal%TYPE;v_add emp.sal%TYPE;BEGINSELECT sal INTO v_sal FROM emp WHERE empno=v_empno;IF v_sal3000THEN v_add:=3000;ELSEdbms_output.put_line(sal3000);END IF;UPDATE emp SET sal=v_add WHERE empno=v_empno;END;/2.declaretype v_record is record (name emp.ename%type,salary emp.sal%type,job emp.job%type,deptno emp.deptno%type);empinfo v_record;--定义变量beginselect ename,sal,job,deptnointo empinfofrom empwhere empno = 7788;dbms_output.put_line(雇员||||的职务是:||empinfo.job||工资是:||empinfo.salary||部门号是:||empinfo.deptno);end;/3.declare cursor c_emp is select * from scott.emp for update; v_increment number;begin for v_emp in c_emp loop case v_emp.deptno when 10 then v_increment:=100; when 20 then v_increment:=160; when 30 then v_increment:=200; else v_increment:=300; end case; update scott.emp set sal = sal+v_increment where current of c_emp; end loop;end;4.5.begin update scott.dept set loc = BEIJING where deptno=50; if sql%notfound then insert into scott.dept(deptno,loc) values(50,BEIJING); dbms_output.put_line(插入成功!); ELSE dbms_output.put_line(更新成共); end
您可能关注的文档
最近下载
- 结构专业05-重庆市建筑工程钢结构设计导则-工业建筑部分、重庆市工业建筑钢结构工程初步设计和施工图设计文件编制技术规定和审查要点-结构专业解析.ppt VIP
- 苏教版小学数学五年级上册第五单元《小数乘法和除法》单元测试卷(含答案).docx VIP
- 道路改造工程支出绩效评价报告.docx VIP
- 2023中职27 婴幼儿保育 赛题 模块三 婴幼儿早期学习支持(赛项赛题).docx
- 数据、模型与决策(原书第14版)戴维R安德森课后习题答案(部分).pdf
- 创伤学临床诊疗指南.pdf
- 苏教版五年级上册数学 第五单元 小数乘法和除法 单元测试卷.docx
- 项目部突发事件应急预案新版.doc VIP
- 艾默生Mentor MP Mentor MP 高性能直流驱动说明书.pdf
- 变频器使用手册完整版.pdf
文档评论(0)