2011-04-21 62 views
2

在SQL Server数据库中,我必须找到所有“主”(父)表,并且还要构建一个 父/子表的分层列表。最后,我想遍历从下往上的分层列表 ,并删除所有的子表数据,最后我能够删除 父数据。
我尝试过一种方式,即使用系统表(如sys.objects等)我 查询数据库的元数据(如其主键和外键)。但是我不知道如何用 来制定树状结构。所有表的分层列表

回答

1

试试这个在SQL Server Management Studio

EXEC sp_msdependencies @intrans = 1 

如果插入的结果到一个临时表,然后你可以过滤它只是表,只是意见,或使用其他替代参数的PROC到做同样的事情

EXEC sp_msdependencies @intrans = 1 ,@objtype=8 --8 = tables 
EXEC sp_msdependencies @intrans = 1 ,@objtype=3 --3 = tables is the correct one 

检查这更多Heirarchical