본문 바로가기
DataBase/MSSQL

[MSSQL] 프로시저(Stored Procedure)내 문자열 검색

by 호호호호히히히히 2018. 10. 1.
728x90
반응형

[MSSQL] 프로시저(stored procedure)내 문자열 검색, 문자열 찾기

How to find specific text in stored procedure



프로시저내에서 특정 문구를 검색 할 경우 사용


RIGHT WAY)


--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 '%[TEXT]%'


--2)

SELECT OBJECT_NAME(object_id), OBJECT_DEFINITION(object_id) 

FROM sys.procedures 

WHERE OBJECT_DEFINITION(object_id) LIKE '%[TEXT]%'



아래와 같은 방법은 ROUTINE_DEFINITION이 nvarchar(4000)의 한계를 가지고 있어서 제대로 된 검색결과가 나오지 않음


WRONG WAY)


SELECT * FROM INFORMATION_SCHEMA.ROUTINES 

WHERE ROUTINE_TYPE='PROCEDURE' 

AND ROUTINE_DEFINITION LIKE '%[TEXT]%'



반응형

댓글