자주 있는 일은 아니지만 가끔 저장프로시저나 테이블 같은 것들을 쿼리로 파악해야 하는 경우가 있습니다.
보고서를 만든다거나 문서같은 것을 만들때 말이죠,
이때 사용하는 것이 'sys.objects'입니다.
(참고 : MSDN - sys.objects(Transact-SQL))
'sys.objects'를 테이블 처럼 이용하여 쿼리를 사용할 수 있습니다.
Select name From sys.objects Where type = 'U'
이런 식으로 말이죠.
위에 코드에서 보시면 아시겠지만 이 코드에서 중요한건 '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'와 동적 쿼리를 이용하면 일괄 관리가 가능한 저장 프로시저도 만들수 있습니다.
쓰기 나름이라는거 ㅎㅎ