Your logic seems right. Here is a script that we use to perform a similar activity. Given a table name, find all of the tables that reference it by a foreign key:select fk.Name fkName, parent.Name tblName, fkcc.Name colName, fkc.constraint_column_id, reference.Name refTable, refCol.Name refColumn, case delete_referential_action when 0 then N'NO ACTION' when 1 then N'CASCADE' when 2 then N'SET NULL' when 3 then N'SET DEFAULT' else N'<Unknown>' end, case update_referential_action when 0 then N'NO ACTION' when 1 then N'CASCADE' when 2 then N'SET NULL' when 3 then N'SET DEFAULT' else N'<Unknown>' end, fk.is_not_for_replication, fk.is_disabledfrom sys.foreign_keys fkinner join sys.foreign_key_columns fkc on fkc.constraint_object_id = fk.object_idinner join sys.objects parent on fk.parent_object_id = parent.object_idinner join sys.columns fkcc on fkcc.object_id = parent.object_id and fkcc.column_id = fkc.parent_column_idinner join sys.objects reference on reference.object_id = fk.referenced_object_idinner join sys.columns refCol on refCol.object_id = reference.object_id and refCol.column_id = fkc.referenced_column_idwhere reference.Name = 'Plans'order by parent.Name, fk.Name, fkc.constraint_column_id
HTH but if not, just throw it away.
Too often we enjoy the comfort of opinion without the discomfort of thought. - John F. Kennedy