oracle上机实习题.doc_第1页
oracle上机实习题.doc_第2页
oracle上机实习题.doc_第3页
oracle上机实习题.doc_第4页
oracle上机实习题.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6次上机课教案 ORACLE数据库技术 课程 计本083 班级 2011 年 4 月 22 日 章节名称上机六:复合数据类型教学目的与要求熟练掌握记录类型、表和数组的定义以及应用方法,并熟悉表和数组属性的含义。教学内容见附件重 点游标难 点游标作 业教具与挂图多媒体教学过程(组织与方法)1. 题目讲解2. 练习3. 答疑4. 讲解5. 小结沈阳工程学院第 8 周上机六:复合数据类型 一、 实践目的(1)掌握ORACLE数据库记录的定义和使用方法。(2)掌握ORACLE数据库联合数组的概念及使用方法。(3)掌握ORACLE数据库嵌套表的概念及使用方法。(4)掌握ORACLE数据库可变数组的概念及使用方法。二、 实践内容(1) 定义记录类型变量,从学生表中读取任意一条记录存放在记录变量里,并输出到屏幕上。set serveroutput on declareTYPE rec_student IS RECORD( ssno CHAR(6), ssname CHAR(10), sssex CHAR(2), sage number(3), ssaddr char(50), sgnum number(4), sclass number(4), sbirthday DATE, ssum number(5);r rec_student;beginselect * into r from student where sno=410312;dbms_output.put_line(r.ssno|r.ssname|r.sssex|r.ssaddr|r.sgnum|r.sclass|r.sbirthday|r.ssum);end;(2) 编程测试三种集合类型的count,exist,delete属性的使用情况,记录程序运行结果。Count属性:DECLARETYPE name IS TABLE OF VARCHAR2(20) INDEX BY BINARY_INTEGER;TYPE pwd IS TABLE OF VARCHAR2(20);TYPE dates is VARRAY(7) OF VARCHAR2(20);v_name name;v_pwd pwd:=pwd(10000,12345,22,yes,no);v_dates dates:=dates(Monday,Sunday);BEGINv_name(1):=Tom;v_name(-1):=Jack;v_name(4):=Rose; DBMS_OUTPUT.PUT_LINE(v_name.count); DBMS_OUTPUT.PUT_LINE(v_pwd.count); DBMS_OUTPUT.PUT_LINE(v_dates.count); END;运行结果:3 5 2 Exist属性:DECLARETYPE pwd IS TABLE OF VARCHAR2(20);v_pwd pwd:=pwd(10000,12345,yes,no,OK,All,Hello,Right,Left,Football);v_count integer;BEGINv_count:=v_pwd.LAST; DBMS_OUTPUT.PUT_LINE(v_pwd(v_count);v_pwd.EXTEND(2,2); v_count:=v_pwd.LAST; DBMS_OUTPUT.PUT_LINE(v_pwd(v_count); v_pwd.EXTEND(2); v_count:=v_pwd.LAST; v_pwd(v_count):=Basketball; DBMS_OUTPUT.PUT_LINE(v_pwd(v_count);END;运行结果:Football 12345 BasketballDelete属性:DECLARETYPE pwd IS TABLE OF VARCHAR2(20);v_pwd pwd:=pwd(10000,12345,22,yes,no);BEGINDBMS_OUTPUT.PUT_LINE(The original table count is:); DBMS_OUTPUT.PUT_LINE(v_pwd.count); v_pwd.delete(4);DBMS_OUTPUT.PUT_LINE(After delete a element,table count is:);DBMS_OUTPUT.PUT_LINE(v_pwd.count);V_pwd(4):=abc;DBMS_OUTPUT.PUT_LINE(v_pwd.count);v_pwd.delete(6,8);DBMS_OUTPUT.PUT_LINE(After delete some element,table count is:);DBMS_OUTPUT.PUT_LINE(v_pwd.count);END; 运行结果:The original table count is: 5 After delete a element,table count is: 4 5 After delete some element,table count is: 5(3) 读下列程序说明程序的功能。set serveroutput ondeclare type t1 is table of varchar2(20) index by binary_integer;type t2 is table of varchar2(20);type v1 is varray(7) of varchar2(20);table1 t1;table2 t2:=t2(one,two,three);varray1 v1:=v1(11,22,33,44);begintable1(0):=a;table1(-5):=b;table1(3):=c;table1(10):=d;table1(2147483647):=e;/*dbms_output.put_line(count);dbms_output.put_line(table1.count);dbms_output.put_line(table2.count);dbms_output.put_line(varray1.count);dbms_output.put_line(limit);dbms_output.put_line(table1.limit);dbms_output.put_line(table2.limit);dbms_output.put_line(varray1.limit);dbms_output.put_line(trim);*/-varray1.trim;-varray1.trim(2);-dbms_output.put_line(varray1.count);-table2.trim(1);-dbms_output.put_line(table2.count);-删除后元素不存在不能在重新赋值,index_by 表没有trim-dbms_output.put_line(delete);-varray1.delete;-dbms_output.put_line(varray1.count);-varray1:=v1(11,22,33,44,55,66);-数组只能全部删除,删除后不能在赋值,只能在重新初始化后才能使用。/*table1.delete(0,3);if table1.exists(3) thentable1.delete(3);end if;dbms_output.put_line(table1.count);table1(3):=abc;dbms_output.put_line(table1.count);*/*table2.delete(2);dbms_output.put_line(table2.count);if table2.exists(2) thendbms_output.put_line(exists);elsedbms_output.put_line(no);end if;table2(2):=new;dbms_output.put_line(table2.count);dbms_output.put_line(table2(2);*/*dbms_output.put_line(table1.first);dbms_output.put_line(table1.prior(3);dbms_output.put_line(table1.next(3);dbms_output.put_line(table1.last);dbms_output.put_line(table2.first);dbms_output.put_line(table2.prior(2);dbms_output.put_line(table2.next(2);dbms_output.put_line(table2.last);dbms_output.put_line(varray1.first);dbms_output.put_line(varray1.prior(2);dbms_output.put_line(varray1.next(2);dbms_output.put_line(varray1.last);*/-dbms_output.put_line(extend);-varray1.extend(1,1);-dbms_output.put_line(varray1.count);-dbms_output.put_line(varray1(varray1.last);-dbms_output.put_line(extend);-table2.extend(5,1);-dbms_output.put_line(table2.count);-dbms_output.put_line(table2(table2.last);-index_by 表没有extendend;该程序的功能是:先定义三个表,给表中的每个元素赋值,然后使用count属性来统计三种集合类型的元素个数,使用limit属性来返回集合变量允许的最大元素个数并显示出来,分别使用带参的trim和不带参的trim方法来删除集合中的元素,返回删除的元素个数;使用exists来判断集合中的某个元素是否存在。最后使用first、next、prior和last等方法来返回表中第一个元素、某个元素的下一个元素、前一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论