You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
"""A property to extract entity relationships from a SQL Server database."""
88
88
return"""SELECT
89
-
fk_schema.schema_name AS EntitySchema,
90
-
fk_tab.table_name AS Entity,
91
-
pk_schema.schema_name AS ForeignEntitySchema,
92
-
pk_tab.table_name AS ForeignEntity,
93
-
fk_col.column_name AS [Column],
94
-
pk_col.column_name AS ForeignColumn
89
+
fk_schema.name AS EntitySchema,
90
+
fk_tab.name AS Entity,
91
+
pk_schema.name AS ForeignEntitySchema,
92
+
pk_tab.name AS ForeignEntity,
93
+
fk_col.name AS [Column],
94
+
pk_col.name AS ForeignColumn
95
95
FROM
96
-
INFORMATION_SCHEMA.TABLE_CONSTRAINTS AS fk
96
+
sys.foreign_keys AS fk
97
97
INNER JOIN
98
-
INFORMATION_SCHEMA.KEY_COLUMN_USAGE AS fkc
99
-
ON fk.constraint_name = fkc.constraint_name
98
+
sys.foreign_key_columns AS fkc ON fk.object_id = fkc.constraint_object_id
100
99
INNER JOIN
101
-
INFORMATION_SCHEMA.TABLES AS fk_tab
102
-
ON fk_tab.table_name = fkc.table_name AND fk_tab.table_schema = fkc.table_schema
100
+
sys.tables AS fk_tab ON fk_tab.object_id = fk.parent_object_id
103
101
INNER JOIN
104
-
INFORMATION_SCHEMA.SCHEMATA AS fk_schema
105
-
ON fk_tab.table_schema = fk_schema.schema_name
102
+
sys.schemas AS fk_schema ON fk_tab.schema_id = fk_schema.schema_id
106
103
INNER JOIN
107
-
INFORMATION_SCHEMA.TABLES AS pk_tab
108
-
ON pk_tab.table_name = fkc.referenced_table_name AND pk_tab.table_schema = fkc.referenced_table_schema
104
+
sys.tables AS pk_tab ON pk_tab.object_id = fk.referenced_object_id
109
105
INNER JOIN
110
-
INFORMATION_SCHEMA.SCHEMATA AS pk_schema
111
-
ON pk_tab.table_schema = pk_schema.schema_name
106
+
sys.schemas AS pk_schema ON pk_tab.schema_id = pk_schema.schema_id
112
107
INNER JOIN
113
-
INFORMATION_SCHEMA.COLUMNS AS fk_col
114
-
ON fkc.column_name = fk_col.column_name AND fkc.table_name = fk_col.table_name AND fkc.table_schema = fk_col.table_schema
108
+
sys.columns AS fk_col ON fkc.parent_object_id = fk_col.object_id AND fkc.parent_column_id = fk_col.column_id
115
109
INNER JOIN
116
-
INFORMATION_SCHEMA.COLUMNS AS pk_col
117
-
ON fkc.referenced_column_name = pk_col.column_name AND fkc.referenced_table_name = pk_col.table_name AND fkc.referenced_table_schema = pk_col.table_schema
118
-
WHERE
119
-
fk.constraint_type = 'FOREIGN KEY'
120
-
AND fk_tab.table_catalog = 'your_catalog_name'
121
-
AND pk_tab.table_catalog = 'your_catalog_name'
110
+
sys.columns AS pk_col ON fkc.referenced_object_id = pk_col.object_id AND fkc.referenced_column_id = pk_col.column_id
0 commit comments