본문 바로가기

Developer/DataBase

[MS-SQL]프로시저, 테이블명 검색

반응형

데이터베이스를 사용할 때 프로시저나 테이블 명을 검색해야 하는 경우가 있습니다.

프로시저나 테이블 명 검색하는 쿼리를 정리해 보겠습니다.

 

 

프로시저 ID를 확실하게 알고 있다면 SP_HELPTEXT '프로시저 ID' 로 프로시저 내용을 확인할 수 있습니다.

하지만 정확한 명칭을 모를 경우에 검색하는 법을 확인 해보겠습니다.

 

1. 프로시저 관련 검색방법

  • 프로시저 명칭으로 찾기
SELECT *
  FROM INFORMATION_SCHEMA.ROUTINES
 WHERE ROUTINE_TYPE = 'PROCEDURE' AND ROUTINE_NAME LIKE N'%프로시저명칭%'

 

  • 특정 테이블이나 뷰를 참조하는 프로시저 찾기
SELECT object_name(id) from syscomments where text like '%테이블명%'

 

  • 프로시저에 들어가 있는 문구로 검색
--1) 
SELECT DISTINCT a.name
  FROM sysobjects AS a	
  LEFT JOIN syscomments AS b ON a.id = b.id
 WHERE a.xtype = 'P' AND b.text LIKE '%검색어%' 

--2)
SELECT OBJECT_NAME(object_id), OBJECT_DEFINITION(object_id) 
  FROM sys.procedures 
 WHERE OBJECT_DEFINITION(object_id) LIKE '%검색어%'

 

2. 테이블 명 검색

SELECT *
  FROM INFORMATION_SCHEMA.TABLES
 WHERE TABLE_NAME LIKE '%테이블명%'
 ORDER BY TABLE_NAME

 

간단한 명령어지만 사용할 일이 생각보다 많아 찾기 쉽게 여기에 정리했습니다.

 

반응형