개발정리

[Oracle] ALL_TABLES, USER_TABLES, ALL_TAB_COLUMNS, ALL_OBJECTS 오라클 테이블, 컬럼, 프로시저 조회 방법

ejkings 2023. 7. 17. 11:05
반응형

내가 가진 권한에서 사용되는 테이블을 알고 싶을때
특정 컬럼명으로 사용되는 테이블을 알고 싶을때나 특정 프로시저의 소유주를 알고 싶을때 등등..
알고 있으면 편해지는 오라클 테이블, 컬럼 조회 방법 공유합니다

SELECT * FROM ALL_TABLES;

- 관리자 권한이 있는 경우 모든 테이블에 대해 조회할 수 있음

SELECT * FROM USER_TABLES;

- 현재 User가 접근 할 수 있는 모든 테이블 대에 조회할 수 있음

SELECT * FROM ALL_TAB_COLUMNS
WHERE COUM_NAME = '컬럼명';

- 컬럼명으로 해당 컬럼을 사용하는 테이블 정보를 볼 수 있음

SELECT * FROM ALL_TAB_COMMENTS
WHERE TABLE_TYPE = 'TABLE'
AND OWNER = '소유자'
AND TABLE_NAME = '테이블명';

- 권한을 가진 모든 테이블 목록과 테이블 코멘트를 볼 수 있음
- TABLE_TYPE 조건에는 TABLE 과 VIEW 두가지가 있음
- 특정 테이블의 정보가 궁금하면 TABLE_NAME에 입력 후 조회

SELECT * FROM ALL_OBJECTS
WHERE OBJECT_TYPE = 'PROCEDURE'' -- 프로시저 조회

- OBJECT_TYPE 타입은 SEQUENCE, SCHEDULE, PROCEDURE, TRIGGER, VIEW, FUNCTION, JAVA CLASS, JAVA SOURCE, INDEX 등으로 모든 객체를 조회 할 수 있음
- 전체적인 객체 조회시 필요할 때 주로 사용함

SELECT * FROM   USER_SOURCE
 WHERE  1=1
   AND TYPE = 'PROCEDURE' -- FUNCTION 도 검색 가능
   AND TEXT LIKE  '%검색할문자입력%'
 ORDER BY NAME, LINE;

- 프로시저(PROCEDURE) 또는 함수(FUNCTION) 내에 테이블이나 컬럼을 확인하고 싶을때 사용
- 프로시저명(함수명)과 검색한 문자의 라인이 나옴

 

반응형