2013. 8. 2. 14:00

자주 있는 일은 아니지만 가끔 저장프로시저나 테이블 같은 것들을 쿼리로 파악해야 하는 경우가 있습니다.

보고서를 만든다거나 문서같은 것을 만들때 말이죠,

 

이때 사용하는 것이 'sys.objects'입니다.

(참고 : MSDN - sys.objects(Transact-SQL))

 

 

1. 'sys.objects' 사용하기

'sys.objects'를 테이블 처럼 이용하여 쿼리를 사용할 수 있습니다.

 

Select name
From sys.objects
Where type = 'U'

 

 

이런 식으로 말이죠.

 

 

 

 

 

2. 'type' 종류

위에 코드에서 보시면 아시겠지만 이 코드에서 중요한건 'type'입니다,

이미 MSDN을 보셨다면 알고 계시겠죠? ㅎㅎㅎ

 

개체 유형:

AF   집계 합수 (CLR)
C CHECK 제약 조건
D DEFAULT(제약 조건 또는 독립 실행형)
F FOREIGN KEY 제약 조건
FN SQL 스칼라 함수
FS 어셈블리(CLR) 스칼라 함수
FT 어셈블리(CLR) 테이블 반환 함수
IF SQL 인라인 테이블 반환 함수
IT 내부 테이블
P SQL 저장 프로시저
PC 어셈블리(CLR) 저장 프로시저
PG 계획 지침
PK PRIMARY KEY 제약 조건
R 규칙(이전 스타일, 독립 실행형)
RF 복제 필터 프로시저
S 시스템 기본 테이블
SN 시퀀스 개체
SO 시퀀스 개체
SQ 서비스 큐
TA 어셈블리(CLR) DML 트리거
TF SQL 테이블 반환 함수
TR SQL DML 트리거
TT CHECK 제약 조건
U 테이블(사용자 정의)
UQ UNIQUE 제약 조건
V
X 확장 저장 프로시저

 

 

마무리

'sys.objects'와 동적 쿼리를 이용하면 일괄 관리가 가능한 저장 프로시저도 만들수 있습니다.

쓰기 나름이라는거 ㅎㅎ