需要更新ALTER TYPE对象

时间:2017-10-07 13:51:10

标签: oracle alter user-defined-types

我使用以下查询创建了名为TYPE object的{​​{1}}。

example1

后来我尝试将变量create or replace type example1 as object (emp_name varchar2(32) ,emp_location varchar2(32) ) 的长度更改为emp_location,我尝试了多种方式

varchar(36)

我以下面的对象结尾。

ALTER TYPE Point ADD ATTRIBUTE emp_location varchar2(36) CASCADE;

现在我想删除以下

create or replace type example1 as  object
                          (emp_name varchar2(32)
                          ,emp_location varchar2(32)
                          )

 Alter type example1 modify attribute emp_location varchar(36) cascade
 Alter type example1 modify attribute emp_location varchar2(37) cascade
 ALTER TYPE example1 DROP ATTRIBUTE emp_location INVALIDATE
 ALTER TYPE example1 ADD ATTRIBUTE emp_location varchar2(38) CASCADE

我该怎么做?

1 个答案:

答案 0 :(得分:0)

  

"我想将emp_location varchar2(32)更改为emp_location varchar2(36)"

您发布的一行代码就是这样(在更正了类型名称后):

SQL> create or replace type example1 as  object
  2                       (emp_name varchar2(32)
  3                       ,emp_location varchar2(32)
  4                       )   
  5  /

Type created.

SQL> alter type example1 modify attribute emp_location varchar2(36) cascade
  2  /

Type altered.

SQL> desc example1
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 EMP_NAME                                           VARCHAR2(32)
 EMP_LOCATION                                       VARCHAR2(36)

SQL>