DB, SQL

[MSSQL] 테이블 목록 조회하기, 특정 텍스트가 포함되어 있는 시스템 오브젝트 조회하기, 특정 텍스트가 포함되어 있는 프로시저 조회하기, 특정 테이블의 컬럼 조회하기

isaac.kim 2022. 8. 4. 22:00
728x90
반응형

[MSSQL] 테이블 목록 조회하기, 특정 텍스트가 포함되어 있는 시스템 오브젝트 조회하기, 특정 텍스트가 포함되어 있는 프로시저 조회하기, 특정 테이블의 컬럼 조회하기

 

MSSQL를 사용해 개발을 하다 보면, 

테이블(TABLE), 프로시저(PROCEDURE), 함수(FUNCTION), 뷰(VIEW), 트리거(TRIGGER) 등

다양한 시스템 오브젝트들을 생성하게 된다.

 

규모가 커지고 서비스가 고도화됨에 따라 많은 테이블과 시스템 오브젝트들이 만들어지는데,

이때 찾고 싶은 테이블이나 시스템 오브젝트를 바로 찾기 어려울 수 있다.

 

실무에서 이런 것들을 찾을 수 있는 쿼리 구문은 도움이 될 때가 많다.

내가 자주 사용하던 유용한 쿼리들을 공유하려 한다.

 

 

반응형

 

먼저 가장 접근을 많이 하게 될 테이블 목록을 조회해보자.

 

 

1. 테이블 목록 조회하기

SELECT * FROM INFORMATION_SCHEMA.TABLES
ORDER BY TABLE_NAME

 

 

2. 특정한 텍스트를 포함하고 있는 시스템 오브젝트 조회하기

SELECT * 
FROM   sysobjects 
WHERE  id IN (
  SELECT id FROM syscomments WHERE text LIKE '%Search_Text%'
)

 

 

 

3. 특정 텍스트가 포함되어 있는 프로시저 조회하기

SELECT ROUTINE_NAME
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%Search_Text%'
AND ROUTINE_TYPE='PROCEDURE'
order by ROUTINE_NAME

 

 

4. 특정 테이블의 컬럼 조회하기

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'TABLE_NAME'

 

 

실무에 있어서 위와 같은 SQL 구문들이 필요할 때가 있다.

 

요즘에는 워낙 DBMS 툴이 잘 되어 있어서 GUI환경에서 대부분 위 조회 내용들 확인할 수 있다.

 

그렇지만 쿼리를 직접 입력하고 실행한 결과값을 뽑아내서 사용해야 할 때가 있다.

 

그럴 땐 이 쿼리들을 사용했다.

 


 

잘못된 내용이 있다면 지적해주세요.

 

좋아요, 구독, 광고 클릭은 큰 힘이 됩니다 :)

 

728x90
반응형