오늘은 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에서 프로시저 내
문자열 검색, 찾는 방법이였습니다~
'컴퓨터관련 > MS-SQL' 카테고리의 다른 글
MS-SQL 에서 랜덤으로 정렬 및 값가져오기 (0) | 2021.03.24 |
---|---|
MS-SQL에서 Data File 가용량 확인하기 (0) | 2020.10.14 |
MSSQL 데이터베이스 수준 역할 정리 (0) | 2020.08.20 |
SSMS에서 쿼리 실행 후 영어에서 한글로 바뀔 때 (2) | 2020.08.14 |
MSSQL에서 테이블별 사이즈 및 건수 확인하기 (0) | 2020.07.29 |