부모 테이블 (ParentId)과 하위 테이블 (ParentId, ChildId)이 있습니다. 상위 테이블의 ParentId는 VARCHAR2 (25 자)로 정의되며 자식 테이블의 ParentId도 마찬가지입니다. 데이터 유형을 VARCHAR2 (50 자)로 변경하려고합니다. 이 변경 사항이 하위 테이블에 계단식으로 적용될 수 있습니까?Oracle에서 - ALTER TABLE은 데이터 유형 변경을 계단식으로 연결할 수 있습니까?
건배!
부모 테이블 (ParentId)과 하위 테이블 (ParentId, ChildId)이 있습니다. 상위 테이블의 ParentId는 VARCHAR2 (25 자)로 정의되며 자식 테이블의 ParentId도 마찬가지입니다. 데이터 유형을 VARCHAR2 (50 자)로 변경하려고합니다. 이 변경 사항이 하위 테이블에 계단식으로 적용될 수 있습니까?Oracle에서 - ALTER TABLE은 데이터 유형 변경을 계단식으로 연결할 수 있습니까?
건배!
아니요. 변경 사항을 계단식으로 나열 할 방법이 없습니다. (같은 사용자 정의 유형을 기반으로 열을 정의했지만 문제가 해결되지 않는 이상 의심 할 여지없이 더 많은 열을 생성한다면 분명히 모호한 방법 일 수 있습니다. 부모에 대해서는 ALTER
을, 하위 테이블에는 하나를 발행해야합니다.
부모 테이블에서 많은 자식 테이블과 손자 테이블을 통해 변경 내용을 추적하려고하는보다 복잡한 스키마가있는 경우 데이터 사전을 사용하여 계층 구조를 탐색 할 수 있습니다. Frank Kulash의 OTN Forums posts 중 하나를 기반으로 한 one query to return the table hierarchy입니다. 열의 이름이 모든 테이블에서 동일하면 더 쉽게 할 수 있으며 그 이름을 가진 모든 열에 대해 dba_tab_columns
을 쿼리하고 50 대신에 data_length
을 25로 쿼리하십시오.