打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
create type [Oracle SQL]

create type [Oracle SQL]


The create type creates a specification for either

Object types

create or replace type base-type-name is object (....);create or replace type derived-type-name under base-type-name(....);create or replace type .... not finalcreate or replace type .... final;create or replace type .... not instantiable;create or replace type .... instantiable;

Varray type

create or replace some_type_name as varray (n) of some_other_type_name;

Nested type

create or replace some_type_name as table of some_other_type_name;

Examples

set feedback off;create or replace type A as object (  x_ number,   y_ varchar2(10),  member procedure to_upper);/create type body A is  member procedure to_upper is   begin    y_ := upper(y_);  end;end;/create or replace type AList as table of A;/create or replace type B as object (  l_ char(2),  a_ AList,  member procedure to_upper);/create type body B is  member procedure to_upper is    i number;  begin    i := a_.first;    while i is not null loop      a_(i).to_upper;       i:=a_.next(i);    end loop;  end;end;/declare  b1 B;  b2 B;  b3 B;begin  b1 := B('fr',AList(A('1','un'  ),A('2','deux')));  b2 := B('de',AList(A('1','eins'),A('2','zwei')));  b3 := B('en',AList(A('1','one' ),A('2','two' )));  b2.to_upper();  dbms_output.put_line(b2.a_(2).y_);end;/drop type B;drop type AList;drop type A;

Requirements

In order to create user defined types the objects option is required.



经常用到的有两个,我感觉区别如下:
create or replace type A as object
这个语句创造了一个对象类型,这个对象类型可以有属性/方法等等
create or replace type A as table of object
这个语句创造了一个链表类型,它是一种数组类型
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Oracle批量处理create sql语句
drop user和drop user cascade的区别
oracle函数整理
Oracle pl/sql部分:使用批量提取
我的在oracle中使用trigger调用dll的源码
oracle pl/sql 中目录的创建
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服