use pubs
go
declare @tbl sysname
set @tbl = 'titles'
--1. 내가 참조하고 있는 테이블
select o.name
from sysforeignkeys f inner join sysobjects o
on o.id=f.rkeyid
where fkeyid=object_id(@tbl) and o.xtype = 'U'
--2. 나를 참조하고 있는 테이블
select o.name
from sysforeignkeys f inner join sysobjects o
on o.id=f.fkeyid
where f.rkeyid=object_id(@tbl) and o.xtype = 'U'
--3. 내가 포함된 뷰, 저장프로시져
select distinct o.name, case when o.xtype='P' then '저장프로시져' else '뷰' end as 구분
from sysdepends d inner join sysobjects o
on o.id=d.id
where d.depid=object_id(@tbl) and o.xtype in ('P', 'V')
대략 이런정도의 쿼리구문으로 테이블간의 참조관계를 확인하실수 있을듯...
(위에서 사용된 시스템테이블들에 관한 세부사항은 온라인설명서를 참고하세요)
하지만, ER다이어그램 조차도 없는 곳에서 이러한 테이블간의 참조관계가 제대로
설정되어 있을지 의문이네요.
테이블간의 참조관계가 없다면 개별테이블들을 하나씩 분석해가면서 연결관계를
확인하셔야 하겠네요.
출처 : sqler.pe.kr
'SQL' 카테고리의 다른 글
| asp+오라클 정적쿼리 재컴파일 안하고 캐싱이용하기 (0) | 2007/06/07 |
|---|---|
| 랭키 구하기 (0) | 2007/06/07 |
| 테이블 참조을 관계 구하는 쿼리 (0) | 2007/06/07 |
| DB 할당된 공간 알람을 띄우는 스크립트 (0) | 2007/06/07 |
| 특정컬럼이 0일때 select한후 업데이트 한방쿼리 (0) | 2007/06/07 |
| 현재 프로세스가 실행중인 쿼리 알아내기 (0) | 2007/06/07 |
0 Trackback,
0 Comment,
:




최근에 달린 댓글
링크
최근에 받은 트랙백
태그목록