Можно ли создать список всех таблиц в указанной базе данных, у которых нет первичного ключа?
Это 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)