2010-06-11 4 views
0

의 관계의 "많은"측면에있는 모든 테이블과 필드를 찾는 경우, 나는 마스터 테이블과 여러 개의 일대 다 관계를 통해 과 관련된 몇 가지 다른 테이블을 가지고 있습니다. 마스터 테이블의 기본 키와 관련된 "모든"테이블과 필드를 "많은"쪽에서 어떻게 찾을 수 있습니까?Sql Server 2005에서 특정 테이블

INFORMATION_SCHEMA에서 뷰를 쿼리하여이를 추출 할 수 있다는 것을 알고 있는데, 하지만이 정보를 정확히 어디에서 찾을 수 있는지 알 수 없습니다.

당신에게

답변

0

내가 SQL 서버 그룹 나는 다음과 같은 쿼리를 사용 에 약간의 도움으로 답을 발견, 관계의 하나 또는 많은 측면에 스키마 이름, 테이블 및 필드 이름을 반환합니다.

SELECT 
    SchemaParent.name AS ParentSchemaName, 
    TableParent.name AS ParentTableName, 
    ColumnParent.name AS ParentColumnName, 
    SchemaChild.name AS ChildSchemaName, 
    TableChild.name AS ChildTableName, 
    ColumnChild.name AS ChildColumnName 
FROM   
    sys.foreign_key_columns AS kc INNER JOIN 
     sys.objects AS TableChild ON kc.parent_object_id = TableChild.object_id INNER JOIN 
     sys.schemas AS SchemaChild ON TableChild.schema_id = SchemaChild.schema_id INNER JOIN 
     sys.objects AS TableParent ON kc.referenced_object_id = TableParent.object_id INNER JOIN 
     sys.schemas AS SchemaParent ON TableParent.schema_id = SchemaParent.schema_id INNER JOIN 
     sys.columns AS ColumnParent ON kc.referenced_object_id = ColumnParent.object_id AND kc.referenced_column_id = ColumnParent.column_id INNER JOIN 
     sys.columns AS ColumnChild ON kc.parent_object_id = ColumnChild.object_id AND kc.parent_column_id = ColumnChild.column_id 
ORDER BY ParentTableName, ChildTableName 
1

체크 아웃 감사합니다

INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE INFORMATION_SCHEMA.CONSTRAINT_TABLE_USAGE

+0

정보 주셔서 감사합니다. 나는 그들을 검사 할 것입니다. – bzamfir

관련 문제