如何以依赖顺序以编程方式从SQL Server检索表列表?

时间:2011-11-11 18:30:53

标签: sql-server sql-server-2008

我正在使用SQL Server 2008 R2。我想查询数据库并检索所有用户定义的表(很简单,SELECT Name FROM sys.tables),但我希望它被排序,以便如果按顺序执行insert语句,它们将不会遇到外键约束。

换句话说,我希望按依赖项排序的表列表,以便最高级别的表(即没有依赖项的表)位于依赖它们的表之前。

查询此问题的最有效方法是什么?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

你确定可以做到吗?在SQL中使用循环引用是合法的,因此没有完美的顺序是很常见的。可选的空值允许插入(后跟更新)。但在大多数情况下,树关系不是单向图。