加入收藏 | 设为首页 | 会员中心 | 我要投稿 衡阳站长网 (https://www.0734zz.cn/)- 数据集成、设备管理、备份、数据加密、智能搜索!
当前位置: 首页 > 站长百科 > 正文

oracle – 我可以创建一个包含嵌套表作为属性的对象表吗?

发布时间:2021-02-28 19:02:16 所属栏目:站长百科 来源:网络整理
导读:这是我的OR模式的片段: CREATE TYPE artist_table_type AS TABLE OF REF artist_type;/CREATE TYPE track_type AS OBJECT ( title VARCHAR(1000),duration INT,release_date DATE,producers artist_table_type,MEMBER FUNCTION getProducers RETURN artist_

这是我的OR模式的片段:

CREATE TYPE artist_table_type AS TABLE OF REF artist_type;
/

CREATE TYPE track_type AS OBJECT (
    title VARCHAR(1000),duration INT,release_date DATE,producers artist_table_type,MEMBER FUNCTION getProducers RETURN artist_table_type,MEMBER FUNCTION getRemixers RETURN artist_table_type
);
/
CREATE TABLE track_obj_table OF track_type;

当我尝试运行它时,我收到错误:

CREATE TABLE track_obj_table OF track_type
*
ERROR at line 1:
ORA-22913: must specify table name for nested table column or attribute

我怀疑这是因为track_type对象中的表类型?

解决方法

它只是意味着您必须为嵌套表提供存储子句:

SQL> CREATE TABLE track_obj_table OF track_type;
CREATE TABLE track_obj_table OF track_type
*
ERROR at line 1:
ORA-22913: must specify table name for nested table column or attribute


SQL> CREATE TABLE track_obj_table OF track_type
  2  NESTED TABLE producers STORE AS producers_nt
  3  /

Table created.

SQL> desc track_obj_table
 Name                                      Null?    Type
 ----------------------------------------- -------- -------------------------
 TITLE                                              VARCHAR2(1000)
 DURATION                                           NUMBER(38)
 RELEASE_DATE                                       DATE
 PRODUCERS                                          ARTIST_TABLE_TYPE

SQL>

(编辑:衡阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读