2013-11-02 4 views
6

모든 스키마에서 클라이언트 계정이 varchar (50) 여야하는 다중 스키마 Oracle DB가 있습니다. 따라서 모든 테이블, SP 및 함수에서 필드, 매개 변수 등을 정의하기 위해 MYCLIENT를 사용하여 부적합을 방지하기 위해 MYCLIENT와 같은 varchar (50)에 새 이름을 할당하고 싶습니다.단순형 별칭 - Oracle 용 모범 사례

1 - 어떻게 오라클의 새로운 유형 (간단한 방법)

2를 정의해야합니다 - 어디 모범 사례에 따라 그 (스키마, 패키지, DB ..)를 정의하는 방법?

덕분에 많은

답변

5

내가 이것을 달성 할 수있는 쉬운 방법은 없다 두려워. 이 같은 패키지 안에 하위 유형을 정의 할 수 있습니다 :

SUBTYPE myclient is VARCHAR2(50); 

하지만 당신은 데이터베이스 컬럼의 형태로 사용 할 수 없습니다. 이를 위해, 당신과 함께 SQL 유형을 정의해야합니다 :

CREATE TYPE myclient ... 

하지만 당신은 단지 레코드 유형, 오브젝트 유형 또는 수집 유형이 방법을 정의 할 수 있습니다. 이것은 이상하지만, 오라클의 꽤 많은 것들처럼 ... :)

+0

답변 해 주셔서 감사합니다. 오라클이 SQL 문 (예 : 테이블 만들기)을 단순하게 전처리하는 대신 MYCLIENT를 nvarchar (50)로 간단하게 대체 할 수있는 방법이 없다는 것을 의미합니까? – Hosm

+0

내가 아는 누구도. –