1

我有一个与oracle数据库(11.g)中的面向对象编程有关的问题,一般我已经研究过如何创建对象类型或如何从现有对象创建表,但我停在一个主题上,即假设我们有创建以下类型

create or replace type mono.Item_type as object(
item_id     integer,
part       REF  mono.Part_type,
quantity    integer);

其中 Part_type 是已经存在的对象类型。我知道我可以像这样从这个对象创建表:

创建Item_type的表表名,例如

create table item_list of  Item_type

有什么不同,如果不是这个,我们使用

create or replace type mono.Item_List as table of Item_type;

尽管如此,我们使用 type 关键字,我们再次创建表,和之间有什么 create table tablename of Item_type不同

create or replace type mono.Item_List as table of Item_type;?
4

1 回答 1

0

当您使用 时create table tablename of Item_type,您将在数据库中创建一个表。
该表是一种可用于存储用户数据的结构。

当您使用时,create or replace type mono.Item_List as table您正在定义一个新的数据类型(类似于数组)。
此 Datatype 可用作 DB 表中的列类型或 plsql 代码中的变量类型。

于 2012-05-28T05:42:47.050 回答