Skip to content

Commit c49faf2

Browse files
authored
Add files via upload
1 parent 2515f32 commit c49faf2

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

SSDB.Foreign_Keys_List.sql

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
WITH
2+
foreign_keys_list
3+
AS
4+
(
5+
SELECT
6+
SchemaName = SCHEMA_NAME(F.schema_id) --+ '.'
7+
, TableName = OBJECT_NAME(F.parent_object_id)
8+
, ForeignKeyName = F.name
9+
, ColumnName = COL_NAME(FC.parent_object_id, FC.parent_column_id)
10+
, RefSchemaName = SCHEMA_NAME(RefObj.schema_id)
11+
, RefTableName = OBJECT_NAME(F.referenced_object_id)
12+
, RefColumnName = COL_NAME(FC.referenced_object_id, FC.referenced_column_id)
13+
FROM
14+
SYS.FOREIGN_KEYS AS F
15+
INNER JOIN SYS.FOREIGN_KEY_COLUMNS AS FC ON F.OBJECT_ID = FC.constraint_object_id
16+
INNER JOIN sys.objects RefObj ON RefObj.object_id = f.referenced_object_id
17+
)
18+
SELECT
19+
ForeignKeyName
20+
, SchemaName
21+
, TableName
22+
, ColumnName
23+
, RefSchemaName
24+
, RefTableName
25+
, RefColumnName
26+
, create_foreign_key = 'ALTER TABLE ' + SchemaName + '.' + TableName + ' ADD CONSTRAINT ' + ForeignKeyName + ' FOREIGN KEY ' + '(' + ColumnName + ')' + ' REFERENCES ' + RefSchemaName + '.' + RefTableName + ' (' + RefColumnName + ')'
27+
, drop_foreign_key = 'ALTER TABLE ' + SchemaName + '.' + TableName + ' DROP CONSTRAINT ' + ForeignKeyName
28+
FROM
29+
foreign_keys_list

0 commit comments

Comments
 (0)