http://www.sqler.com/318666

많이들
알고 계시겠지만, 프로시져에서 특정 문자열을 포함하는 것들만 가져오는 명령어입니다.

 

1. Schema 에서 가져오는 방법

SELECT       ROUTINE_NAME

FROM         INFORMATION_SCHEMA.ROUTINES

WHERE        ROUTINE_TYPE='PROCEDURE'

                    AND ROUTINE_DEFINITION LIKE '%키워드%'

ORDER BY     ROUTINE_NAME;

 

2. Comments 에서 가져오는 방법

SELECT       DISTINCT A.NAME

FROM         dbo.SysObjects A JOIN dbo.SysComments B ON A.ID = B.ID

WHERE        A.TYPE = 'P' AND B.TEXT LIKE '%키워드%'

ORDER BY     A.NAME;

 

à DISTINCT 이유는, 해당 Procedure 안에 같은 단어가 여러 나올경우,

결과가 여러 나오기 때문입니다.

 

참고로 1.번 방법은 VARCHAR(4000) 이상의 크기를 가진 Procedure는 찾아내지 못합니다.


+ Recent posts