Adventure Time - Jake [oracle] 현재 스키마(전체 테이블)에 대해서 특정 컬럼 검색
본문 바로가기
Back-end/SQL

[oracle] 현재 스키마(전체 테이블)에 대해서 특정 컬럼 검색

by bogyoi 2025. 12. 31.

 

특정 컬럼의 자료형을 변경해야할 일이 있어 프로젝트 스키마 내 특정 컬럼들을 다 찾아야했다. (관계형 DB가 아니었다.)

 

 

- 현재 스키마에서 모든 DB 테이블에 대해 특정 컬럼이 있는 테이블을 검색

SELECT DISTINCT table_name
FROM user_tab_columns
WHERE column_name IN ('ABC_DEF', 'GHI_JKL')
ORDER BY table_name;

 

내가 찾아야하는 컬럼인 'ABC_EDF', 'GHI_JKL' 컬럼을 갖고 있는 테이블의 이름을 조회해줘서

해당 테이블로 가서 수정해줬다. (몇 개 안 돼서 쿼리문보다는 직접 수정해주었다.)

 

 

 

 두 컬럼이 동시에 존재하는 테이블을 검색

SELECT table_name
FROM user_tab_columns
WHERE column_name IN ('ABC_DEF', 'GHI_JKL')
GROUP BY table_name
HAVING COUNT(DISTINCT column_name) = 2;

 

 

-  모든 스키마에서  모든 DB 테이블에 대해 특정 컬럼이 있는 테이블을 검색

SELECT DISTINCT owner, table_name
FROM all_tab_columns
WHERE column_name IN ('ABC_DEF', 'GHI_JKL')
ORDER BY owner, table_name;