이번에는 MS-SQL에서
테이블명이나 문자열 등을 이용해서
프로시저 혹은 뷰 등을 검색하는 방법을
정리해보고자 합니다.
위에 말한게 조금 말이 이상하다고 해야 할까?
좀 그렇네요.
좀 더 쉽게 설명을 하자면
프로시저나 뷰 등에서는 여러 테이블 등을 참조해서
만들고 사용을 합니다.
그래서 해당 테이블이나 특정 문자열이 사용되어서
생성이 된,
그런 SP 나 VIEW를 찾는 방법입니다.
1. 테이블명
특정 테이블을 참조하는
뷰나 프로시저를 테이블명을 이용하여
찾는 방법입니다.
아래의 쿼리를 이용하여
검색을 할 수 있습니다.
예시 쿼리는 다음과 같습니다.
Select object_name(id)
From syscomments Where text like '%테이블명%'
Group by object_name(id)
Order by object_name(id)
;
위 쿼리에서
테이블명 부분을 수정해 주시면 되십니다.
그러시면 해당 테이블을 참조하는
프로시저나 뷰 등을
검색할 수 있습니다.
제가 운영중인 DB에서
테이블명을 넣어서 위 쿼리를 돌려보았습니다.
그랬더니 결과는 아래와 같이 나오게 되었습니다.
위처럼 나와졌습니다.
해당 테이블을 참조하는
SP나 VIEW 리스트가 나오게 된 것입니다.
이름은 운영중인 것이기 때문에
숨겼습니다.
2. 문자열 검색
이번에는 문자열을 검색하는 방법을
정리해보도록 하겠습니다.
저는 문자열을 검색할 때는
컬럼명을 넣어서 검색할 때 사용합니다.
특정 컬럼명을 참조하거나 사용하거나,
그런 경우를 찾는 것입니다.
실제 사용 쿼리는 다음과 같습니다.
아래 쿼리를 이용해서 실행을 할 수 있습니다.
select * from sys.all_objects as o with(nolock)
inner join sys.sql_modules as a with(nolock) on o.object_id = a.object_id
where a.definition like '%문자열%'
order by o.name asc
위 쿼리에서 문자열 부분에
검색하고자 하는 문자열을 입력해 주시면 되십니다.
그러면 해당 문자열이 들어가져 있는
프로시저나 뷰를 검색해서
결과를 보여줍니다.
제가 운영중인 DB의 특정 컬럼명을 넣어서
위 쿼리를 실행시켜 보았습니다.
그랬더니 결과가 아래처럼 나왔습니다.
위처럼 쿼리 결과가 나왔습니다.
SP나 VIEW의 이름, object_id, type 등
여러가지 데이터들이 나왔습니다.
이렇게 리스트나 나왔으면 그걸 가지고
참고해서 확인을 해볼 수 있습니다.
오늘은 SQL SERVER에서
테이블명, 문자열을 이용하여
프로시저나 뷰 등을 검색하는 방법을
정리해보았습니다.
많이 사용하지는 않으나,
테이블이나 컬럼명 등을 이용하여
해당 테이블이나 컬럼을 사용하는
SP나 VIEW를 찾을 수 있으니
알고 계시면 좋을 것 같습니다.
이상으로 MSSQL에서 테이블명, 문자열을 이용하여
프로시저나 뷰 검색하는 방법이였습니다~
파트너스 활동을 통해 일정액의 수수료를 제공받을 수 있음
'컴퓨터관련 > MS-SQL' 카테고리의 다른 글
SSMS에서 쿼리 실행 후 영어에서 한글로 바뀔 때 (2) | 2020.08.14 |
---|---|
MSSQL에서 테이블별 사이즈 및 건수 확인하기 (0) | 2020.07.29 |
MSSQL에서 SELECT INTO, INSERT INTO SELECT (0) | 2020.06.24 |
MS-SQL에서 ORDER BY 절에 CASE WHEN 사용하기 (0) | 2020.06.15 |
MSSQL에서의 EXISTS와 IN의 사용 및 차이점 (0) | 2020.06.05 |