Oracle中定义Type的概念及其用法(oracle定义type)

Oracle数据库中定义Type概念及其用法

Oracle数据库支持用户定义类型(Type),比如用户自定义的对象类型,为使用数据库设计高效的抽象类型提供了一种便捷的方法。Type的定义可以是内部的和外部的,外部的Type称之为全局类型(GLOBAL type),内部的称之为局部类型(LOCAL type)。

Oracle数据库定义Type用法包括:1. 创建一个用户自定义的对象类型,并将其成分的信息和类型指定为用户自定义的一组属性,这组属性继承于用户自定义的类别;2. Queries访问这些相关的信息,操作类型数据会隐式解析成一组属性。

下面是一个用户自定义对象类型Rectangle的例子,它拥有属性width和height,定义了一个GLOBAL type:

create or replace type Rectangle as object( width number,

height number );

/

我们可以利用这个GLOBAL type来创建一个table:

create table RECTANGLE_TABLE (

id number primary key,

rectangle Rectangle

);

我们也可以定义一个内部的LOCAL type,它也拥有属性width和height。

declare

type CorType as object(

width number,

height number

);

Begin

null;

End;

/

LOCAL type弹出过程中,其类型定义不会持久化,只能在该会话上有效。

定义完Type之后,我们可以在SQL语句中灵活的使用它们,比如:

insert into RECTANGLE_TABLE

values (1, CorType(2, 3));

此时,我们向RECTANGLE_TABLE中插入了width为2,height为3的一个CorType数据,我们也可以用下面的语句查询出其width、height:

select id, rectangle.width, rectangle.height

from RECTANGLE_TABLE

Type的定义和使用能够使我们实现更自由灵活的抽象数据结构定义,从而更高效的管理数据库,提高工作效率。


数据运维技术 » Oracle中定义Type的概念及其用法(oracle定义type)