티스토리 뷰
특정 키워드를 포함하는 뷰 프로시져 찾기 - syscomments, sysobjects, syscolumns
nwairr 2009. 5. 6. 13:10쿼리 분석기, SSMS(Microsoft SQL Server Management Studio) 사용자라면
개체브라우저 또는 개체탐색기란 화면을 알것이다.
쿼리분석기 툴에서 F8을 누르면 볼 수 있는 화면인데
여기에서 master DB항목을 보면
상당히 유용한 시스템 프로시져, 시스템뷰들이 많이 있음을 알게된다.
그 중에서 내가 유용하게 사용하는 몇가지들을 소개하고자 한다.
다음에 소개하는 뷰들은
내가 찾고자하는 뷰 또는 프로시져들의 종속관계를 알고싶을 때 주로 사용한다.
1. syscomments - system View
사용 예)
select object_name(id) from syscomments where text like '%(뷰 또는 프로시져의 키워드를 넣음)%'
top 1로 끊어서 뷰의 내용을 보던지, helptext를 해 보면 알 수 있지만
뷰의 text컬럼은 해당 뷰(프로시져)의 내용을 담고있다.
text컬럼에서 내가 찾고자 하는 키워드로 검색을 해서 고유한 id값을 반환받는다.
그 후 시스템 함수 object_name을 이용해서 id값에 해당하는 뷰 또는 프로시져 이름을 반환 받는 식이다.
2. sysobjects - system View
컬럼을 살펴보면 name, id, crdate, refdate 등등 DB에 존재하는
오브젝트들에 대한 기본 사항들이 정의 되어 있음을 알 수 있다.
사용 예)
select * from sysobjects where name = '(찾고자 하는 오브젝트의 이름을 넣는다)'
3. syscolumns - system View
컬럼을 살펴보면 뷰의 이름에서 알 수있듯이 오브젝트들의 컬럼들을 정의되어 있다.
여기에서 내가 찾고자 하는 컬럼명을 가지고 그 고유 id값을 취득하는 것이 가능하다.
사용 예)
select * from syscolums where name = '(찾고자 하는 컬럼의 이름을 넣는다)'
위의 세가지 뷰를 가지고 몇가지 조합도 생각 해 볼 수 있는데,
예를들어서 컬럼명을 가지고 해당 컬럼명을 사용하는 테이블, 뷰, 프로시져를 알고자 한다면
select *
from sysobjects
where id in(
select id
from syscolumns where name = '(컬럼명)')
and xtype = 'p'
-- xtype은 맨 밑의 참고표를 참고할 것.
위와 같은 쿼리를 사용해서 알아낼 수가 있다.
(아...조.. 좋은 조합이다...)
무..물론 더 많은 문제제기를 통해서 더 많은 조합을 생성해 낼 수 있을 거라 생각한다. 흠흠....
개체브라우저를 통해 master DB의
수많은 시스템 뷰, 프로시져, 함수 등을 보면 아직도 내가 알아야 할 것이 너무나 많음을 느끼며....
다음번에도 더욱더 분발~~!!! `∀´)
※ 참고
주요 xtype 참고표
CK |
체크제약조건(check on column) |
DF |
디폴트값(default on column) |
F |
외래키(foreign key) |
FN |
함수(function) |
P |
프로시져(procudure) |
PK |
고유키(primary key) |
S |
시스템 오브젝트(system) |
TR |
트리거(triger) |
U |
사용자 테이블(user table) |
V |
사용자 뷰(user view) |
'DB(MS, Oracle, PG, MY..etc)' 카테고리의 다른 글
차단(Bloking), 교착상태(DeadLock, LiveLock)의 개념과 해결방안 (0) | 2009.06.05 |
---|---|
[pg-sql] Data Type - 데이터 타입 (0) | 2009.05.31 |
sql 서버에 접근중인 프로세스와 사용쿼리 알아내기 (0) | 2009.05.07 |
pgadmin 설치하기 (0) | 2009.04.27 |
Postgre Sql 시작하기 (0) | 2009.04.27 |
- Total
- Today
- Yesterday
- 틀린그림찾기
- brawlstars
- 8비트
- 플래쉬게임
- 오락실 게임
- C
- 다른그림찾기
- 좀비게임
- 레트로게임
- c#
- XML
- 플래쉬 게임
- 플래시 게임
- 플래시게임
- Excel
- 브롤스타즈
- xml강좌
- 8비트상성
- 엑셀
- MS-SQL
- 플래시
- 오락실게임
- J.S Bach
- 플래쉬
- 중독성짱게임
- 추억의 게임
- SQL
- 고전명작
- 고전게임
- XML Programming with VB 6.0
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |