WorkaHolic/MSSQL

MSSQL SP(Stored Procedure - 저장 프로시저) 내 내용 검색하기

2010. 2. 25. 16:43
반응형

/*********************************************************************************
SYSOBJECTS
데이터베이스에서 만들어진 각 개체(제약 조건, 기본값, 로그, 규칙, 저장 프로시저)당 
한 개의 행을 포함합니다.
**********************************************************************************/
SELECT * FROM SYSOBJECTS

/*
name : 개체 이름
id : 개체 ID
xtype : 
 F - FOREIGN KEY 제약조건
 U - 사용자 테이블
 TR - 트리거
 PK - PRIMARTY KEY 제약조건
 P - 저장 프로시저
 FN - 스칼라 함수
 V - 뷰
 TF - 테이블 함수
 D - 기본값 (DEFAULT) 제약조건
 S - 시스템 테이블
 C - CHECK 제약조건

crdate : 만든 날짜
type : 
 F - FOREIGN KEY 제약조건
 U - 사용자 테이블
 TR - 트리거
 P - 저장 프로시저
 K - PRIMARTY KEY 또는 UNIQUIE 제약조건
 FN - 스칼라 함수
 V - 뷰
 TF - 테이블 함수
 D - 기본값 (DEFAULT) 제약조건
 S - 시스템 테이블
 C - CHECK 제약조건
*/

--저장 프로시저 검색
SELECT * FROM SYSOBJECTS WHERE TYPE='P'


/********************************************************************************
SYSCOMMENTS
데이터베이스 내의 각 뷰, 규칙, 기본값, 트리거, CHECK 제약 조건, DEFAULT 제약 조건 
및 저장 프로시저에 대한 항목을 포함합니다.
**********************************************************************************/
SELECT * FROM SYSCOMMENTS

/*
id : 해당 텍스트를 적용할 개체 ID
text : SQL 정의 문의 실제 텍스트 nvarchar(4000) 
*/

-- 저장프로시저의 이름과 내용 보기
SELECT A.ID, B.NAME, B.XTYPE, LEN(A.TEXT), A.TEXT
 FROM SYSCOMMENTS AS A
 INNER JOIN SYSOBJECTS AS B
  ON A.ID=B.ID 
  AND B.XTYPE='P'


/******************************/
/*저장프로시저의 내용 검색하기*/
/******************************/
DECLARE @KEYWORD VARCHAR(100)

-- 키워드 세팅
SET @KEYWORD = 'USP_GSCK_EVENT_ENTRANT_CULTURE_LIST_OLD'

-- 키워드의 개체 존재 유무 확인
SELECT NAME FROM SYSOBJECTS WHERE NAME = @KEYWORD

-- 개체 자신을 제외한 다른 프로시저의 내용에 개체가 존재하는지 확인
SELECT A.ID, B.NAME, A.TEXT
 FROM SYSCOMMENTS AS A
 INNER JOIN SYSOBJECTS AS B
  ON A.ID=B.ID 
  AND B.XTYPE='P'
 WHERE B.NAME ! = @KEYWORD
 AND A.TEXT LIKE '%' + @KEYWORD + '%'

출처 : http://blog.naver.com/fallove/70051971972

반응형