DB
[MSSQL] 스크립트 검색(와일드카드문자 처리)
쑤기c
2018. 9. 10. 16:51
예를 들어 스키마를 변경하려는 테이블을 사용하는 모든 스크립트-영향도-를 검색해야할 경우 사용한다.
-- SQL_EXP 스크립트 검색 (VIEW/FUNCTION/PROCEDURE/TRIGGER)
-- 유의사항: 현재 선택된 DB 만 검색
SELECT O.name, O.type_desc
FROM sys.sql_modules M
JOIN sys.objects O ON M.object_id = O.object_id
LEFT OUTER JOIN sys.all_objects P ON O.parent_object_id = P.object_id
WHERE 1=1
AND M.definition LIKE '%_DEL_%' -- 검색결과 이상함!
AND M.definition LIKE '%[_]DEL[_]%' -- 밑줄(_) 검색방법1: []로 감싸기
AND M.definition LIKE '%|_DEL|_%' ESCAPE '|' -- 밑줄(_) 검색방법2: 이스케이프 문자 정의해서 사용
ORDER BY O.name
--2) 메타데이터 테이블 사용 (4000byte이상은 잘리므로 미사용.)
SELECT *
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_TYPE = 'PROCEDURE'
AND ROUTINE_DEFINITION LIKE '%[_]DEL[_]%'
참고: http://sqldbpros.com/2013/01/escaping-from-an-underscore-in-a-sql-server-wildcard-like-search/
반응형