Назад | Перейти на главную страницу

SQL Server - список всех таблиц без первичного ключа

Можно ли создать список всех таблиц в указанной базе данных, у которых нет первичного ключа?

Это SQL Server 2005.

Это действительно больше относится к StackOverflow, чем к ServerFault, не так ли?

Во всяком случае, я нашел этот сценарий, который опубликовал несколько лет назад: Список всех таблиц без первичного ключа. Работает с SQL 2000+.

ой! представления информационной схемы уродливы.

Если ваша база данных - 2005, вы должны использовать представления каталога, как рекомендовано MS

Вот мое решение:

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