DataBase/Oracle

[Oracle] 오라클 컬럼 존재여부 확인

건뱅 2021. 7. 6.
반응형

프로젝트를 진행하다가 shp 파일로 DB import를하는과정에서 

 

컬럼존재여부 확인할 필요가 있었다.

 

코멘트를 컬럼마다 달아줘야하는데

 

같은 테이블이라도 DB import를 시켰을 때 가지고 있는 컬럼이 제각각이였기 때문..

 

그래서 

 

오라클의 특정 테이블에서 컬럼이 존재하는지 여부를 확인하는 쿼리를 알아왔다.

 

이 쿼리는 오라클 관리테이블인

 

ALL_TAB_COLUMNS 테이블을 조회하여 사용한다.

 

조회 쿼리는 아래와 같다.

SELECT COUNT(*) cnt FROM ALL_TAB_COLUMNS
WHERE TABLE_NAME = '테이블명' and 
COLUMN_NAME = '컬럼명' and 
OWNER ='스키마명' ;

- 조회하고 싶은 테이블 명,

- 해당 테이블안에 존재여부를 판단할 컬럼명

- 테이블을 소유하고 있는 스키마명

 

위 쿼리에 

 

총 세가지를 요소를 입력하고 조회하면 1이 나오면 존재함, 0이나오면 존재하지 않음 으로 결과를 조회할 수 있다.

 

참고로 스키마명은 구조상 여러개의 스키마를 구분하여 사용하는 디비에서

 

스키마명을 누락하여 조회하게되면 같은 이름의 여러개의 테이블이 조회되여 count가 2개이상 리턴될 수 있기에

 

확실하게 스키마명을 넣어서 조회하여야 정확한 결과값을 받아볼 수 있다. 

 

 

반응형

댓글