2017-10-07 45 views
0

我使用以下查询创建了一个名为example1TYPE object需要更新ALTER TYPE对象

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 

现在我想删除以下

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 

我怎么能这样做?

+0

除了类型名称('example1'或'point'?)的混淆你的代码运行。那么你的问题是什么?你想让我们帮你什么? – APC

+0

嗨,对不起。类型名称是example1。 我想将emp_location varchar2(32)更改为emp_location varchar2(36) – Sreejith

回答

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> 
+1

感谢您的解决方案 – Sreejith