- 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
您可能关注的文档
最近下载
- 《机械设计基础》课程设计方案.pdf
- 第三届全国新能源汽车关键技术技能大赛决赛-汽车电器维修工(新能源汽车电控系统技术方向)赛项竞赛平台主要设备技术标准(指导版).pdf
- 布病患者的护理课件.pptx VIP
- 2024阿里巴巴淘宝云客服-消费者咨询业务知识题库与答案.docx
- 青州古城景区介绍-青州古城景点PPT.pptx
- 产后骨盆修复培训课件.pptx VIP
- 监控维修工程施工方案.docx
- 江苏省南京市江宁区2023-2024学年四年级上学期期末科学试卷.docx VIP
- 第五章-绿色化学方法.ppt VIP
- 意识形态领域风险隐患排查、突出问题整治、阵地管理提升行动工作方案.docx VIP
文档评论(0)