- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三 PL/SQL编程
一、实验目的及要求
(1) 掌握PL/SQL块结构、PL/SQL的基本语法、PL/SQL的控制结构。
(2) 掌握PL/SQL块中使用复合数据类型和游标的方法。
(3) 掌握PL/SQL异常处理技术。
二、实验主要内容
(1) 记录执行命令和操作过程中遇到的问题及解决方法,注意从原理上解释原因。
(2) 记录利用SQL*Plus或iSQL*Plus编写、执行PL/SQL程序的命令。
(3) 记录执行命令和操作过程中遇到的问题及解决方法,注意从原理上解释原因。
三、实验仪器设备
在局域网环境下,有一台服务器和若干台客户机。服务器成功安装Oracle 11g数据库服务器(企业版),客户机成功安装Oracle 11g客户端软件,网络服务配置正确,数据库和客户端正常工作。
四、实验步骤
在SQL*Plus中使用PL/SQL块处理EMP表中职工号7788的职工,如果工资小于3000那么把工资更改为3000:
declare
num_sal emp.sal%type;
begin
select sal into num_sal from emp where empno=7788; 查询EMP表中职工号7788的工资
if(num_sal3000) then 判断工资是否小于3000
update emp set sal=3000 where empno=7788; 把小于3000的工资改为3000
end if;
dbms_output.put_line(更新||sql%rowcount||条记录);
dbms_output.put_line(工资是:||num_sal);
end;
编写一个程序块,将emp表中前5人的名字显示出来。
declare 创建一个记录类型v_record,类型包含name,salary,job,deptno分量
type v_record is record(
name emp.ename%type,
salary emp.sal%type,
job emp.job%type,
deptno emp.deptno%type 记录类型的分量的数据类型和emp表中列的数据类型一致(%type实现)
);
t_record v_record;
begin
select emp.ename,emp.sal,emp.job,emp.deptno
into t_record from emp
where empno=7788; 读取EMP表中职工号为7788的ename,sal,job,deptno为该变量赋值,输出变量的分量
dbms_output.put_line(t_record.name|| ||t_record.salary|| ||t_record.job|| ||t_record.deptno);
end;
3.某公司要根据雇员的职位来加薪,公司决定按下列加薪结构处理:
JOB Raise
-----------------------
Clerk 500
Salesman 1000
Analyst 1500
Otherwise 2000
编写一个程序块,接受一个雇员名,从emp表中实现上述加薪处理。
(if)
DECLARE
v_job emp.job%type;
v_increment NUMBER(4);
v_empno emp.empno%type;
BEGIN
v_empno:=x;
SELECT job INTO v_job FROM emp
WHERE empno=v_empno;
IF v_job=CLERK THEN v_increment:=100;
ELSIF v_job=SALESMAN THEN v_increment:=160;
ELSIF v_job=ANALYST THEN v_increment:=200;
ELSE v_job:=300;
END IF;
UPDATE emp SET sal=sal+v_increment
WHERE empno=v_empno;
END;
(CASE)
DECLARE
v_job emp.job%type;
v_increment NUMBER(4);
v_empno emp.empno
您可能关注的文档
最近下载
- AP微观经济学 2019年真题 (选择题+问答题) AP Microeconomics 2019 Released Exam and Answers (MCQ+FRQ).pdf VIP
- 富士达电梯ZEXIA(CP41)电气原理图纸.pdf
- 2024年天津市中考语文试题(含答案解析).doc VIP
- [教学设计]苏少版八年级下册美术全册精品教案(最全).doc
- 《车用汽油》课件.pptx VIP
- 汽车改装入门.pdf
- VDA6.3-2023过程审核检查表(2023版).xlsx VIP
- 结论性审查意见(模板).PDF
- DBJ50_T-452-2023 装配式保温装饰板墙体保温系统.pdf
- 花园小区物业管理参观学习心得体会PPT.pptx VIP
文档评论(0)