본문 바로가기

Database

Oracle 유형 변경 처리

Oracle 의 유형은 Function 에서 테이블 목록으로 표출하기 위해서
테이블 형태로 표출하기 위한 처리가 필요하다. 

우리는 그저 유형의 컬럼을 하나 추가하려는 것이지만,
이 유형이 어찌나 많은 곳에서 쓰이는 Dead Lock 이 걸릴 것만 같아 쉽게 변경 하기 겁난다.

게다가 이 유형은 변경이 쉽게 되지 않는다. 
이유는 테이블 유형에 Dependence가 걸려 있기 때문이다.
변경 방법은, ① 테이블 유형을 DROP 처리 ② 유형에 컬럼 추가해서 저장 ③ 다시 테이블 유형 생성

이 방법이 쉽지 않기 때문에 다음의 아이디어로 접근해서 처리하고자 한다.

① 신규 유형을 생성한다. (적용하려는 유형으로)
② 테이블 유형도 생성한다.
③ Package에 해당 유형을 컴파일 한다.
④ 기존 유형을 변경한다. (위 변경방법 대로)
⑤ 기존 유형을 Package에 컴파일 한다.
⑥ 앞서 새롭게 만든 신규 유형은 삭제한다
⑦ 테스트 실시한다.

어떤 가이드에서 FORCE 도 언급되는데, 대부분 사용하지 말라는 얘기고,
나도 그렇게까지 무리해서 하고 싶진 않음.

'Database' 카테고리의 다른 글

Oracle 컬럼명 Alias 처리  (0) 2019.12.20
소팅에 대하여  (0) 2019.12.07
ORA-06502: 숫자에 문자열 오류  (0) 2019.11.13