2017-07-25 5 views

答えて

0

このクエリは、など、あなたが...あなたは、特定のFK名をフィルタリングするWHERE句を追加することができます必要とする可能性が高いですすべての情報を返します

SELECT t.name AS tablename, 
     (SELECT cc.name FROM sys.columns AS cc, sys.tables AS tt WHERE tt.object_id = cc.object_id AND tt.object_id = fk.parent_object_id AND cc.column_id = fc.parent_column_id) AS column_name, 
     fc.constraint_column_id, fk.name AS fkname, 
     OBJECTPROPERTY(fk.object_id, 'CnstIsDisabled') AS is_disabled, OBJECTPROPERTY(fk.object_id, 'CnstIsNotTrusted') AS is_untrusted, 
     OBJECT_NAME(fk.referenced_object_id) AS referenced_table_name, 
     (SELECT cc.name FROM sys.columns AS cc, sys.tables AS tt WHERE tt.object_id = cc.object_id AND tt.object_id = fk.referenced_object_id AND cc.column_id = fc.referenced_column_id) AS referenced_column_name, 
     fk.update_referential_action, fk.delete_referential_action 
    FROM sys.foreign_keys fk 
     INNER JOIN sys.tables t ON fk.parent_object_id = t.object_id 
     INNER JOIN sys.columns as c ON t.object_id = c.object_id 
     INNER JOIN sys.foreign_key_columns AS fc ON c.column_id = fc.parent_column_id AND fc.constraint_object_id = fk.object_id AND fc.parent_object_id = fk.parent_object_id AND c.column_id = fc.parent_column_id 
ORDER BY t.name, fk.name, fc.constraint_column_id 
関連する問題