- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Oracle实验5:PL_SQL复合数据类型:记录、表和可变数组课案
《数据库开发技术》实验5 报告 实验题目:PL/SQL复合数据类型:记录、表和可变数组 日期 2015 – 11 - 28 班级 计算机1301 姓名 实验环境:Win10 +Oracle11g 一、实验内容与完成情况(记录所有的实验过程):
1、根据表emp的全部字段定义记录变量emp_record。用SELECT语句将编号为7788的雇员的全部字段对应地存入该记录变量,最后输出记录变量的雇员名称字段emp_record.ename和雇员工资字段的内容。
执行结果如下:
SCOTT的工资为:3000
PL/SQL 过程已成功完成。
PL/SQL 过程已成功完成。
SQL语句
set SERVEROUTPUT ON
DECLARE
TYPE emp_record is RECORD
( empno EMP.EMPNO%TYPE,
ename EMP.ENAME%TYPE,
Job EMP.JOB%TYPE,
mgr EMP.MGR%TYPE,
hiredate EMP.HIREDATE%TYPE,
sal EMP.SAL%TYPE,
comm number(10,2):=0,
deptno number(3):=10
);
e_record emp_record;
begin
select * into e_record
from emp where empno=7788;
dbms_output.put_line(e_record.ename||的工资为:||to_char(e_record.sal));
end;/
实验结果截图
2、声明一张Index_By(关联数组)表,用来接收并存储DEPT表的信息,把部门号作为键,不要忘记部门号是10的倍数。使用循环从DEPT表中将所有部门信息检索到PL/SQL记录表中,然后用另一个循环来显示表中的这些信息。
执行结果为:
10, ACCOUNTING, NEW YORK
20, RESEARCH, DALLAS
30, SALES, CHICAGO
40, OPERATIONS, BOSTON
PL/SQL 过程已成功完成。
SQL语句
SET SERVEROUTPUT ON
DECLARE
type dept_type is table OF dept%rowtype
index by binary_integer;
v_count number;
dept_list dept_type;
begin
select COUNT(*) into v_count FROM dept;
for i IN 1..v_count LOOP
select * into dept_list(i*10)
from dept where deptno=i*10;
END LOOP;
FOR i IN 1..v_count LOOP
DBMS_OUTPUT.PUT_LINE(dept_list(i*10).deptno||,||dept_list(i*10).dname||,||dept_list(i*10).loc);
END LOOP;
end;/
实验结果截图
3、SET SERVEROUTPUT ON
DECLARE
TYPE dept_list IS TABLE OF dept.dname%TYPE; --定义嵌套表
TYPE top5_list IS VARRAY(5) OF dept.loc%TYPE; --定义可变数组
dis_dept dept_list; --嵌套表的声明
num_5 top5_list; --可变数组的声明
BEGIN
dis_dept(1):=AMGN;
IF dis_dept IS NULL THEN
dis_dept :=dept_list(AMGN,BGEN);
DBMS_OUTPUT.PUT_LINE(dis_dept表当前元素个数为:||to_char(dis_dept.count));
END IF;
num_5:=top5_list(ORCL,CSCO,NULL,NULL);
IF num_5(3) IS NULL THEN
num_5(3):=CPQ;
END IF;
num_5(4):=DELL;
FOR COUNTER IN 1..4 LOOP
您可能关注的文档
- 切断阀_BM5.ppt
- OPTIFLEX2200CF简易操作手册.doc
- 分类与整理第二课时课堂练习.ppt
- OPPO公司的调查PPT.ppt
- 刑事案件证据收集.ppt
- OA解决方案2.doc
- 分选机培训.ppt
- 列式存储技术简介课件.ppt
- 列检“一班、一列、一辆”作业标准课件.ppt
- 列方程解相遇问题应用题课件.ppt
- 2025年中国赛力散市场调查研究报告.docx
- 2025至2030年中国PE彩印穿绳手拎袋数据监测研究报告.docx
- 2025年贵州水利水电职业技术学院高职单招语文2018-2024历年参考题库频考点含答案解析.docx
- 2025至2030年中国真空玻璃用辊数据监测研究报告.docx
- 2025至2030年中国陶瓷量具数据监测研究报告.docx
- [来宾]2022年广西来宾市忻城生态环境局招聘笔试历年典型考点(频考版试卷)附带答案详解.docx
- 2025至2030年中国模头旋转聚乙烯吹塑膜机组数据监测研究报告.docx
- 2025年中国执法艇市场调查研究报告.docx
- 2025至2030年黑白超低照度摄像机项目投资价值分析报告.docx
- 2025至2030年精密四柱龙门式油压裁断机项目投资价值分析报告.docx
文档评论(0)