2017-10-07 21 views
0

다음 쿼리를 사용하여 example1이라는 TYPE object을 만들었습니다. ALTER TYPE 개체를 업데이트해야합니다.

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

나중에 내가 varchar(36)에 변수 emp_location의 길이를 변경하려고 나는 여러 가지 방법
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

"나는 VARCHAR2를 emp_location하는 emp_location의 VARCHAR2 (32) 변경을 원했습니다 (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