SQL Server - 列出所有没有主键的表

SQL Server - 列出所有没有主键的表

是否可以生成指定数据库中没有主键的所有表的列表?

这是 SQL Server 2005。

答案1

这实际上更属于 StackOverflow 而不是 ServerFault,不是吗?

无论如何,我找到了几年前发布的这个脚本:列出所有没有主键的表。它适用于 SQL 2000+。

答案2

哎呀!信息模式视图太丑陋了。

如果你的数据库是 2005,那么你应该使用目录视图,因为MS 推荐

这是我的解决方案:

SELECT
* from sys.tables
WHERE object_id not in
(SELECT object_id from sys.indexes WHERE is_primary_key=1)

相关内容