您现在的位置: 万盛学电脑网 >> 程序编程 >> 数据库 >> oracle教程 >> 正文

Oracle认证之Oracle中构造包含数组的表

作者:佚名    责任编辑:admin    更新时间:2022-06-22

为了方便广大考生更好的复习,帮考网综合整理提供了Oracle认证之Oracle中构造包含数组的表,以供各位考生考试复习参考,希望对考生复习有所帮助。

Oracle中构造包含数组的表

面向对象数据库中存储的是对象,对象有自己的行为和属性;

行为体现为类型的函数或者过程;属性体现为字段;

对象表确实有优势吗?

基于抽象类型创建关系表:和其他表的创建一样;

基于抽象类型创建对象表:create table 对象表名 of 抽象数据类型;

抽象类型可以复用:也就是说一个抽象类型中可以包含另一个抽象类型做为一个字段;

构造函数是默认创造的,参数包括类型的字段;

如果要插入数据到对象表,有两种方式:

一种就是insert into tablename values(字段1,字段2,。..。);

另一种就是我们如果想直接用构造函数构造一个大字段直接插入,

这时候不需要values,但必须用slect:

insert into tablename select 构造函数(字段1,字段。..) from xxx;

创建带方法的类型:

首先说方法的定义:如果有返回值,用member function.。.

没有返回值,member procedure.。.

****以后再说;

可变数组

声明一下Oralce的oop中使用下列的对象类型:

·抽象数据类型;

·可变数组;

·嵌套表;

·对象表;

·对象视图;

可变数组会根据存储数据的大小来真正存储数据而不是占用固定的空间,这类似

Java中的ArraryList类;

关系型理论中不允许一个表中的一个记录中存储其他表记录,

而Oracle中是支持的;这不是违反了数据的原子性原则吗?

但是这样有好处:

在用户查询的时候比两个表进行关联查询效率高;

所以说可变数组也可以做为一条记录的一个字段被存储在一个表中,

当然这是违反关系数据理论的;

创建可变数组的例子:

create or replace type mingxitype as object

goodsid varchar(15),