본문 바로가기
컴퓨터관련/MS-SQL

MSSQL에서 특정 텍스트 포함 프로시저 검색하기

by 빛과 어둠사이 2020. 10. 30.
728x90
반응형
SMALL

오늘은 SQL Server에서

특정 텍스트가 포함된 프로시저를 검색하는 방법을

정리해보려고 합니다.

 

MS-SQL을 쓰다보면

프로시저를 많이 사용하게 됩니다.

내장 프로시저도 많이 사용하고,

자체 개발 프로시저도 많이 사용을 하게 됩니다.

 

그러다보면 특정 테이블, 컬럼 등을 참조하는

프로시저를 찾고 싶을 때도 있습니다.

이 때 사용할 수 있는 방법입니다.

 

컬럼이나 테이블명을 넣고

조회를 하면

검색을 할 수 있습니다.

 

 

 

SQL Server에서 제공하는

기본 테이블들을 이용하여

데이터를 찾을 수 있습니다.

 

방법은 총 2가지 방법이 있습니다.

물론, 더 많은 방법이 있을 수 있으나,

제가 알고 있는 방법은 우선 두가지입니다.

그래서 오늘은 두가지 방법을 정리해보고자 합니다.

 

 

 

 

첫번째 방법입니다.

 

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 '%검색할텍스트%'

 

위와 같이 쿼리를 작성하여

실행해주시면 되십니다.

위 쿼리에서 검색할텍스트 부분을

테이블, 컬럼 등 원하는 텍스트 문구로 넣고

검색을 해주시면 되십니다.

그러면 해당 텍스트가 들어가있는

프로시저를 검색하게 됩니다.

 

 

저는 위 쿼리에서 제가 현재 관리하고 있는 테이블명을 넣고

실행을 해보았습니다.

그랬더니 결과는 아래처럼 나오게 되었습니다.

 

 

 

위처럼 나와지는 것을

확인할 수 있습니다.

 

프로시저명은 현재 제가 직접 관리하는 프로시저이다보니

숨겨놓았습니다.

아무튼 이렇게 나와지는 것을 볼 수 있습니다.

 

 

 

 

그리고 두번째 방법입니다.

SELECT OBJECT_NAME(object_id), OBJECT_DEFINITION(object_id) 
FROM sys.procedures 
WHERE OBJECT_DEFINITION(object_id) LIKE '%검색할텍스트%'

위와 같은 쿼리로도

검색을 할 수 있습니다.

 

첫번째와 동일하게

검색할 텍스트 부분에

원하는 텍스트 문구를 넣으면 되십니다.

그러면 해당 문구가 들어간 프로시저를 검색해서

결과를 보여줍니다.

 

 

위 쿼리에서 첫번째와 동일한

테이블명을 넣고 실행을 해보았습니다.

그랬더니 결과는 아래처럼 나왔습니다.

 

 

위처럼 나와진 것을 볼 수 있습니다.

첫번째 컬럼은 프로시저명

두번째 컬럼은 프로시저 생성 쿼리입니다.

그러니 프로시저 쿼리도 바로 볼 수 있는 것입니다.

그렇기 때문에 저는 쓰게 된다면

두번째 쿼리를 좀 더 사용을 할 거 같네요.

 

 

 

오늘은 SQL Server에서 특정 텍스트 문구가 들어가

프로시저를 검색하는 방법을

정리해보았습니다.

 

프로시저를 많이 검색하고 하지 않기 때문에

자주 사용하지는 않을 수 있습니다.

하지만 적어놓고, 알고 있으면

장기적으로도 많이 사용할 수 있을 것 같네요.

 

 

 

이상으로 MSSQL에서 프로시저 내

문자열 검색, 찾는 방법이였습니다~

 

 

 

 

 

 

 

My Part-Time Study Notes on Mssql Server Paperback, Partridge Publishing

 

 

 

 

 

 

 

 

728x90
반응형
LIST